用于 Base64 编码和加密的 Linux 命令和 OpenSSL - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

有关 OpenSSL 的信息,请转到 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 对文件进行哈希处理,并使用 RSA 和私有密钥文件 private_key.pem 对其进行签名

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

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

有关演示如何创建签名的更多代码示例,请参阅为签名 URL 创建签名的代码示例