使用 Linux 命令和用于 Base64 编码和加密 OpenSSL - Amazon CloudFront

使用 Linux 命令和用于 Base64 编码和加密 OpenSSL

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

有关 OpenSSL 的信息,请转到 https://www.openssl.org

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

其中:

1 cat 读取 policy 文件。

2 tr -d "\n" | tr -d " \t\n\r" 删除由 cat 添加的空格和换行符。

3 OpenSSL 使用 SHA-1 对文件进行哈希处理,并使用 RSA 和私有密钥文件 private_key.pem 对其进行签名。

4 OpenSSL 对经过哈希处理和签署的策略声明进行 Base64 编码。

5 tr 使用有效的字符替换 URL 查询字符串参数中的无效字符。

有关以几种编程语言演示创建签名的代码示例,请参阅 为签名 URL 创建签名的代码示例