アプリケーションによっては、通信の暗号化および復号化に対称鍵が必要です。この手順では、対称鍵を作成して格納します。
乱数発生関数がある場合、この関数を使用して鍵の乱数を作成できます。この手順は乱数発生関数を使用しません。
代わりに、Solaris の /dev/urandom デバイスを入力として dd コマンドを使用します。dd コマンドは鍵を格納しません。手順については、「dd コマンドを使用して対称鍵を生成する方法」を参照してください。
(省略可能) キーストアを使用する場合は、作成します。
PKCS #11 キーストアを作成して初期化する方法については、「pktool setpin コマンドを使ってパスフレーズを生成する方法」を参照してください。
NSS データベースを作成して初期化する方法については、例 15–5 を参照してください。
対称鍵として使用する乱数を生成します。
次のいずれかを実行します。
鍵を生成してファイルに格納します。
鍵をファイルに格納する利点は、このファイルから鍵を抽出して、/etc/inet/secret/ipseckeys ファイルや IPsec など、アプリケーションの鍵ファイルで使用できることです。
% pktool genkey keystore=file outkey=key-fn \ [keytype=specific-symmetric-algorithm] [keylen=size-in-bits] \ [dir=directory] [print=n] |
file の値は、鍵の格納場所のファイルタイプを指定します。
keystore=file のときのファイル名です。
特定のアルゴリズムとして、aes、arcfour、des、または 3des を指定します。
鍵のビット長です。8 で割り切れる数にする必要があります。des または 3des には指定しないでください。
key-fn へのディレクトリパスです。デフォルトでは、directory は現在のディレクトリです。
鍵を端末ウィンドウに印刷します。デフォルトでは、print の値は n です。
鍵を生成して PKCS #11 キーストアに格納します。
PKCS #11 キーストアの利点は、ラベルに基づいて鍵を取得できることです。この方法は、ファイルを暗号化および復号化する鍵の場合に便利です。この方法を使用するには、手順 1 を完了する必要があります。
% pktool genkey label=key-label \ [keytype=specific-symmetric-algorithm] [keylen=size-in-bits] \ [token=token] [sensitive=n] [extractable=y] [print=n] |
鍵についてユーザーが指定したラベルです。ラベルに基づいてキーストアから鍵を取得できます。
特定のアルゴリズムとして、aes、arcfour、des、または 3des を指定します。
鍵のビット長です。8 で割り切れる数にする必要があります。des または 3des には指定しないでください。
トークン名です。デフォルトでは、トークンは Sun Software PKCS#11 softtoken です。
鍵の重要度を指定します。値が y の場合、鍵は print=y 引数を使用して印刷することはできません。デフォルトでは、sensitive の値は n です。
鍵がキーストアから抽出できることを指定します。鍵が抽出されないようにするには、n を指定します。
鍵を端末ウィンドウに印刷します。デフォルトでは、print の値は n です。
鍵を生成して NSS キーストアに格納します。
この方法を使用するには、手順 1 を完了する必要があります。
% pktool keystore=nss genkey label=key-label \ [keytype=[keytype=specific-symmetric-algorithm] [keylen=size-in-bits] [token=token] \ [dir=directory-path] [prefix=database-prefix] |
nss の値は、鍵の格納場所の NSS タイプを指定します。
鍵についてユーザーが指定したラベルです。ラベルに基づいてキーストアから鍵を取得できます。
特定のアルゴリズムとして、aes、arcfour、des、または 3des を指定します。
鍵のビット長です。8 で割り切れる数にする必要があります。des または 3des には指定しないでください。
トークン名です。デフォルトでは、トークンは NSS 内部トークンです。
NSS データベースへのディレクトリパスです。デフォルトでは、directory は現在のディレクトリです。
NSS データベースの接頭辞です。デフォルトは接頭辞なしです。
鍵を端末ウィンドウに印刷します。デフォルトでは、print の値は n です。
(省略可能) 鍵が存在することを確認します。
鍵を格納した場所に応じて、次のコマンドのいずれかを使用します。
次の例では、DES アルゴリズムの秘密鍵を作成します。鍵は、あとで復号化するためにローカルファイルに格納されます。コマンドは、400 のアクセス権でファイルを保護します。鍵が作成されると、print=y オプションにより、生成された鍵が端末ウィンドウに表示されます。
DES メカニズムでは、 64 ビット鍵を使用します。鍵ファイルを所有するユーザーは、od コマンドを使用して鍵を取得します。
% pktool genkey keystore=file outkey=64bit.file1 keytype=des print=y Key Value ="a3237b2c0a8ff9b3" % od -x 64bit.file1 0000000 a323 7b2c 0a8f f9b3 |