

# Linux コマンドおよび OpenSSL を使用した Base64 エンコードおよび暗号化
<a name="private-content-linux-openssl"></a>

次の Linux コマンドラインのコマンドおよび OpenSSL を使用して、ポリシーステートメントをハッシュ化して署名します。次に、署名を base64 エンコードし、URL クエリ文字列パラメータでの無効な文字を有効な文字置き換えます。

OpenSSL の詳細については、「」にアクセスしてください[https://www.openssl.org](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 を使用してファイルをハッシュし、プライベートキーファイル `private_key.pem` を使用して署名します。プライベートキー署名は、RSA 2048 または ECDSA 256 のいずれかです。
+ OpenSSL は、ハッシュされ、署名されたポリシーステートメントを base64 でエンコードします。
+ `tr` は、URL クエリ文字列パラメータの無効な文字を有効な文字で置き換えます。

署名の作成方法を示すコード例については、「[署名付き URL の署名を作成するためのコード例](PrivateCFSignatureCodeAndExamples.md)」を参照してください。