

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 用於 Base64 編碼和加密的 Linux 命令和 OpenSSL
<a name="private-content-linux-openssl"></a>

您可以使用以下 Linux 命令列命令和 OpenSSL 來雜湊和簽署政策聲明、base64 編碼簽章，並將 URL 查詢字串參數中無效的字元替換為有效的字元。

如需 OpenSSL 的詳細資訊，請前往 [https://www.openssl.org](https://www.openssl.org)。

SHA-1 （預設）：

```
cat policy | tr -d "\n" | tr -d " \t\n\r" | openssl sha1 -sign private_key.pem | openssl base64 -A | tr -- '+=/' '-_~'
```

SHA-256：

```
cat policy | tr -d "\n" | tr -d " \t\n\r" | openssl sha256 -sign private_key.pem | openssl base64 -A | tr -- '+=/' '-_~'
```

在上述命令中：
+ `cat` 會讀取 `policy` 檔案。
+ `tr -d "\n" | tr -d " \t\n\r"` 會移除 `cat` 所新增的空格和新行字元。
+ OpenSSL 會使用 SHA-1 （或 SHA-256) 雜湊檔案，並使用私有金鑰檔案 簽署該檔案`private_key.pem`。私有金鑰簽章可以是 RSA 2048 或 ECDSA 256。如果您使用 SHA-256，請在已簽章的 URL 中包含`Hash-Algorithm=SHA256`查詢參數，或在已簽章的 `CloudFront-Hash-Algorithm=SHA256` Cookie 中包含 Cookie。
+ 使用 OpenSSL base64 來將經過雜湊演算和簽署的政策陳述式編碼。
+ `tr` 以有效字元取代 URL 查詢字串參數中無效的字元。

如需示範建立簽章的更多程式碼範例，請參閱 [為已簽署 URL 建立簽章的程式碼範例](PrivateCFSignatureCodeAndExamples.md)。