View a markdown version of this page

Perintah Linux dan OpenSSL untuk pengkodean dan enkripsi base64 - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perintah Linux dan OpenSSL untuk pengkodean dan enkripsi base64

Anda bisa menggunakan baris perintah Linux berikut dan OpenSSL untuk membubuhkan dan menandatangani pernyataan kebijakan, mengodekan tanda tangan dengan base64, dan mengganti karakter yang tidak valid dalam parameter string kueri URL dengan karakter yang valid.

Untuk informasi tentang OpenSSL, kunjungi https://www.openssl.org.

SHA-1 (default):

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 -- '+=/' '-_~'

Dalam perintah sebelumnya:

  • cat membaca policy file Anda.

  • tr -d "\n" | tr -d " \t\n\r"menghapus spasi kosong dan karakter baris baru yang ditambahkan olehcat.

  • OpenSSL melakukan hash file menggunakan SHA-1 (atau SHA-256) dan menandatanganinya menggunakan file kunci pribadi. private_key.pem Tanda tangan kunci pribadi dapat berupa RSA 2048 atau ECDSA 256. Jika Anda menggunakan SHA-256, sertakan parameter Hash-Algorithm=SHA256 kueri di URL yang ditandatangani, atau CloudFront-Hash-Algorithm=SHA256 cookie untuk cookie yang ditandatangani.

  • OpenSSL base64-mengkodekan pernyataan kebijakan yang di-hash dan ditandatangani.

  • tr mengganti karakter yang tidak valid dalam parameter string kueri URL dengan karakter yang valid.

Untuk contoh kode lainnya yang menunjukkan pembuatan tanda tangan, lihatContoh kode untuk membuat tanda tangan untuk URL yang ditandatangani.