ファイルを暗号化しても、元のファイルが削除されたり変更されたりすることはありません。出力ファイルが暗号化されます。
encrypt コマンドに関する一般的なエラーを解決するには、例のあとのセクションを参照してください。
鍵が生成されるpassphraseを指定したり、鍵を指定したりできます。
パスフレーズを指定する場合、指定したパスフレーズを格納するか覚えておく必要があります。パスフレーズをオンラインで格納する場合、そのパスフレーズファイルは自分だけが読み取ることができるようにします。
鍵を指定する場合、それはメカニズムの現在のサイズである必要があります。pktool コマンドを使用できます。手順およびいくつかの例については、pktool コマンドを使用して対称鍵を生成する方法を参照してください。
encrypt コマンドで、鍵を指定して対称鍵アルゴリズムを使用します。
$ encrypt -a algorithm [-v] \ [-k keyfile | -K key-label [-T token]] [-i input-file] [-o output-file]
ファイルを暗号化するために使用するアルゴリズム。encrypt -l コマンドの出力のようにアルゴリズムを入力します。可能な場合は常に、Oracle Solaris 11.3 での FIPS 140-2 対応システムの使用 の 暗号化フレームワークでの FIPS 140-2 アルゴリズムに記載されている FIPS 140-2 承認アルゴリズムを選択してください。
アルゴリズムで指定された長さの鍵を含むファイル。アルゴリズムごとの鍵の長さが、ビット単位で encrypt -l コマンドの出力に一覧表示されます。
PKCS #11 キーストア内の鍵のラベル。
トークン名。デフォルトでは、トークンは Sun Software PKCS#11 softtoken です。–K key-label オプションが使用された場合にのみ使用されます。
暗号化する入力ファイル。このファイルは、コマンドによって変更されることはありません。
入力ファイルと同じ暗号化形式の出力ファイル。
次の例では、ユーザーは暗号化と復号化用に AES 鍵を作成して、既存の PKCS #11 キーストアに格納します。ユーザーは、その鍵が存在し、使用できることを確認することはできますが、その鍵自体を表示することはできません。
$ pktool genkey label=MyAESkeynumber1 keytype=aes keylen=256 Enter PIN for Sun Software PKCS#11 softtoken :パスワードを入力します $ pktool list objtype=key Enter PIN for Sun Software PKCS#11 softtoken :パスワードを入力します No. Key Type Key Len. Key Label ---------------------------------------------------- Symmetric keys: 1 AES 256 MyAESkeynumber1
その鍵を使用してファイルを暗号化するには、ユーザーはそのラベルで鍵を取り出します。
$ encrypt -a aes -K MyAESkeynumber1 -i encryptthisfile -o encryptedthisfile
encryptedthisfile ファイルを復号化するには、ユーザーはその鍵をラベルで取り出します。
$ decrypt -a aes -K MyAESkeynumber1 -i encryptedthisfile -o sameasencryptthisfile使用例 10 AES およびパスフレーズで暗号化および復号化する
次の例では、ファイルを AES アルゴリズムで暗号化します。鍵はパスフレーズから生成されます。パスフレーズをファイルに格納する場合、そのファイルはユーザー以外は読み取ることができないようにします。
$ encrypt -a aes -i ticket.to.ride -o ~/enc/e.ticket.to.ride Enter passphrase: パスフレーズを入力します Re-enter passphrase: パスフレーズを再度入力します
入力ファイル ticket.to.ride は、元の形式で存在します。
出力ファイルを復号化する場合、ユーザーはファイルを暗号化したときと同じパスフレーズと暗号化メカニズムを使用します。
$ decrypt -a aes -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride
Enter passphrase: パスフレーズを入力します
使用例 11 AES および鍵ファイルで暗号化および復号化する
次の例では、ファイルを AES アルゴリズムで暗号化します。AES メカニズムでは、128 ビット(16 バイト) の鍵が使用されます。
$ encrypt -a aes -k ~/keyf/05.07.aes16 \ -i ticket.to.ride -o ~/enc/e.ticket.to.ride
入力ファイル ticket.to.ride は、元の形式で存在します。
出力ファイルを復号化するとき、ユーザーはファイルを暗号化したときと同じ鍵と暗号化メカニズムを使用します。
$ decrypt -a aes -k ~/keyf/05.07.aes16 \ -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride
トラブルシューティング
次のメッセージは、encrypt コマンドに指定した鍵が、使用しているアルゴリズムで許可されないことを示しています。
encrypt: unable to create key for crypto operation: CKR_ATTRIBUTE_VALUE_INVALID
encrypt: failed to initialize crypto operation: CKR_KEY_SIZE_RANGE
アルゴリズムの条件を満たしていない鍵を渡した場合は、次のいずれかの方法を使用して、条件を満たす鍵を指定する必要があります。
パスフレーズを使用します。それによって、条件を満たす鍵が暗号化フレームワークで指定されます。
アルゴリズムが使用できる鍵サイズを渡します。たとえば、DES アルゴリズムでは 64 ビットの鍵が必要です。3DES アルゴリズムでは 192 ビットの鍵が必要です。