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

用于 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 创建签名的代码示例