base64 でエンコードした暗号鍵の作成
このセクションでは、適切な鍵作成のために鍵の値を base64-encode にする方法について説明します。 これは、 MD5 認証と、MACsec 機能を有効にする場合に必要です。
以下の例では、オペレーティング・システムですぐに利用できるユーティリティーを使用して、エンコードされた鍵ストリングを受信する方法を示しています。
base64 キーとなる素材をエンコードするために使えるツールはたくさんある。 例えば、OpenSSL を使用して新規または既存の鍵素材を作成してエンコードする場合は、Hyper Protect Crypto Services または Key Protect の資料を参照してください。
Windows ユーザー
Powershell を使用して鍵素材を base64 エンコードすることができます。
鍵ストリングの入力
未加工の鍵ストリングをエンコードするには、まず、UTF-8 エンコードでストリングをバイトに変換します。 それから、そのバイトを base64 でエンコードされたストリングに変換します。
$KEY_VALUE = "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
$ENCODED_KEY = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($KEY_VALUE))
値が正しくエンコードされたことを確認するために、$ENCODED_KEY
変数をコンソールに表示します。
Write-Output $ENCODED_KEY
出力: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
鍵ファイルの入力
ファイルの鍵文字列を base64 値にエンコードするには、まずファイルの内容を取得します。 次に、その内容を UTF-8 エンコードでバイトに変換します。 それから、鍵ストリングの入力と同じ方法で、バイトを base64 でエンコードされたストリングに変換することができます。
$KEY_FILE = "c:\path\to\file\key.txt"
$KEY_VALUE = get-content $KEY_FILE
$ENCODED_KEY = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($KEY_VALUE))
ここでもう一度、$ENCODED_KEY
値をロギングして確認します。
Write-Output $ENCODED_KEY
出力: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
MacOS ユーザーと Linux ユーザー
bash シェルで使用できる base64
ユーティリティーを使用して、鍵素材を base64 でエンコードすることができます。
鍵ストリングの入力
未加工のストリングを base64
で base64 値にエンコードするには、ストリングをユーティリティーの入力としてパイプします。 printf
を使用して、改行文字が追加されないようにします。
KEY_VALUE="abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
printf '%s' $KEY_VALUE | base64
出力: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
鍵ファイルの入力
ファイルの鍵ストリングを base64 値にエンコードするには、まずファイル内容を取得し、改行があればすべて削除します。 それから、この値を base64
ユーティリティーにパイプします。 ここでもう一度、printf
を使用して、改行文字が追加されないようにします。
KEY_FILE="path/to/file/key.txt"
KEY_VALUE=$(tr -d '\n' < $KEY_FILE)
printf '%s' $KEY_VALUE | base64
出力: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==