

# 用于 Base64 编码和加密的 Linux 命令和 OpenSSL
<a name="private-content-linux-openssl"></a>

可使用以下 Linux 命令行命令和 OpenSSL 哈希和签署策略声明，对签名进行 Base64 编码，将 URL 查询字符串中无效的字符替换为有效的字符。

有关 OpenSSL 的信息，请转到 [https://www.openssl.org](https://www.openssl.org)。

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

在上述命令中：
+ `cat` 读取 `policy` 文件。
+ `tr -d "\n" | tr -d " \t\n\r"` 移除由 `cat` 添加的空格和换行符。
+ OpenSSL 使用 SHA-1 对文件进行哈希处理，并使用私有密钥文件 `private_key.pem` 对其进行签名。私有密钥签名可以是 RSA 2048 或 ECDSA 256。
+ OpenSSL 对经过哈希处理和签名的策略声明进行 Base64 编码。
+ `tr` 使用有效的字符替换 URL 查询字符串参数中的无效字符。

有关演示如何创建签名的更多代码示例，请参阅[为签名 URL 创建签名的代码示例](PrivateCFSignatureCodeAndExamples.md)。