Using a Linux Command and OpenSSL for Base64-Encoding and Encryption
You can use the following Linux command-line command and OpenSSL to hash and sign the policy statement, base64-encode the signature, and replace characters that are not valid in URL query string parameters with characters that are valid.
For information about OpenSSL, go to http://www.openssl.org.
cat policy | tr -d "\n" | openssl sha1 -sign private-key.pem | openssl base64 | tr -- '+=/' '-_~'
cat reads the
tr -d "\n" removes a newline character that was added by
OpenSSL hashes the file using SHA-1 and signs it using RSA and the
private key file
OpenSSL base64-encodes the hashed and signed policy statement.
tr replaces characters that are not valid in URL query string parameters with
characters that are valid.
For code examples that demonstrate creating a signature in several programming languages see Code Examples for Creating a Signature for a Signed URL.