6 暗号コマンド
暗号コマンドを使用すると、Oracle Key Vault管理対象セキュリティ・オブジェクトを使用して、提供されたデータを暗号化および復号化できます。
- okv crypto data decryptコマンド
okv crypto data decrypt
コマンドは、Oracle Key Vaultサーバー内のOracle Key Vault管理対象セキュリティ・オブジェクトを使用して、指定された暗号文データに対して復号化操作を実行し、復号化されたデータを返します。 - okv crypto data encryptコマンド
okv crypto data encrypt
コマンドは、Oracle Key Vaultサーバー内のOracle Key Vault管理対象セキュリティ・オブジェクトを使用して、指定された平文データに対して暗号化操作を実行し、暗号化データを返します。
6.1 okv crypto data decryptコマンド
okv crypto data decrypt
コマンドは、Oracle Key Vaultサーバー内のOracle Key Vault管理対象セキュリティ・オブジェクトを使用して、指定された暗号文データに対して復号化操作を実行し、復号化されたデータを返します。
必要な権限
エンドポイントには、復号化に使用されるキーに対する読取り権限が必要です。
構文
okv crypto data decrypt --uuid UUID --data file_path --block-cipher-mode block_cipher_mode --padding padding --iv file_path --authenticated-encryption-additional-data file_path --authenticated-encryption-tag file_path --data-format data_format --decrypted-data output_file_path
JSON入力ファイル・テンプレート
{ "service": { "category": "crypto", "resource": "data", "action": "decrypt", "options": { "uuid": "#VALUE", "data" : "#VALUE", "blockCipherMode" : "#CBC|ECB|CFB|OFB|GCM", "padding" : "#NONE|ZEROS|PKCS5", "iv" : "#VALUE", "authenticatedEncryptionAdditionalData" : "#VALUE", "authenticatedEncryptionTag" : "#VALUE" "dataFormat": "#HEX|BASE64", "decryptedData": "#VALUE" } } }
パラメータ
パラメータ/テンプレート・パラメータ | 必須かどうか | 説明 |
---|---|---|
|
必須 |
復号化に使用するキーのUUID (Universally Unique ID)。 オブジェクトの一意識別子を調べるには、Oracle Key Vault管理コンソールで、「Keys & Wallets」タブをクリックして、左側のナビゲーション・ウィンドウで「Keys & Secrets」をクリックします。「Keys & Secrets」表で、「Unique Identifier」列を確認します。 |
|
必須 |
復号化する必要がある暗号文データへのファイル・パス |
|
オプション |
ブロック暗号モード。値は次のとおりです。
この設定を省略すると、Oracle Key Vaultではキーに関連付けられた暗号化パラメータを使用します。 |
|
オプション |
パディング。値は次のとおりです。
この設定を省略すると、Oracle Key Vaultではキーに関連付けられた暗号化パラメータを使用します。 |
|
オプション |
復号化操作に使用する初期化ベクトル(IV)のファイル・パス。暗号化中に使用されたものと同じ初期化ベクトルを使用する必要があります。 |
|
オプション |
復号化操作に使用する認証済暗号化追加データのファイル・パス。暗号化中に使用されたものと同じ認証済暗号化追加データを指定する必要があります。 |
|
オプション |
復号化操作に使用する認証済暗号化タグのファイル・パス。暗号化中に生成されたものと同じ認証済暗号化タグを指定する必要があります。 |
|
オプション |
データ形式。入力および出力ファイルのデータの形式。指定しない場合、データはバイナリ・データとして読み取られ、書き込まれます。値は次のとおりです。
|
|
必須 |
復号化されたデータが書き込まれるファイル・パス。指定された出力ファイルが存在しない場合は、エラーになります。ファイルが存在する場合は、復号化されたデータで上書きされます。 |
JSONの例
okv crypto data decrypt
コマンドのJSON入力を生成します。okv crypto data decrypt --generate-json-input
次のような入力が生成されます。
{ "service": { "category": "crypto", "resource": "data", "action": "decrypt", "options": { "uuid": "#VALUE", "data" : "#VALUE", "blockCipherMode" : "#CBC|ECB|CFB|OFB|GCM", "padding" : "#NONE|ZEROS|PKCS5", "iv" : "#VALUE", "authenticatedEncryptionAdditionalData" : "#VALUE", "authenticatedEncryptionTag" : "#VALUE" "dataFormat": "#HEX|BASE64", "decryptedData": "#VALUE" } } }
- 生成された入力をファイル(たとえば、
key_decrypt.json
)に保存し、それを編集して必要な復号化設定を含めます。たとえば:{ "service": { "category": "crypto", "resource": "data", "action": "decrypt", "options": { "uuid": "2359E04F-DA61-4F7C-BF9F-913D3369A93A", "data" : "/okv/opt/data", "blockCipherMode" : "GCM", "padding" : "ZEROS", "iv" : "/okv/opt/iv", "authenticatedEncryptionAdditionalData" : "/okv/opt/keys/authenticatedEncryptionAdditionalData", "authenticatedEncryptionTag" : "/okv/opt/keys/authenticatedEncryptionTag", "dataFormat": "HEX", "decryptedData": "/okv/opt/keys/decrypted_data" } } }
- 生成されたJSONファイルを使用して
okv crypto data decrypt
コマンドを実行します。okv crypto data decrypt --from-json key_decrypt.json
出力は、次のようになります。
{ "result" : "Success", "value" : { "decryptedData" : "/okv/opt/keys/decrypted_data" } }
親トピック: 暗号コマンド
6.2 okv crypto data encryptコマンド
okv crypto data encrypt
コマンドは、Oracle Key Vaultサーバー内のOracle Key Vault管理対象セキュリティ・オブジェクトを使用して、指定された平文データに対して暗号化操作を実行し、暗号化データを返します。
必要な権限
エンドポイントには、暗号化に使用されるキーに対する読取り権限が必要です。
構文
okv crypto data encrypt --uuid UUID --data file_path --block-cipher-mode block_cipher_mode --padding padding --random-iv random_iv --iv file_path --authenticated-encryption-additional-data file_path --data-format data_format --encrypted-data output_file_path --iv-out output_file_path --authenticated-encryption-tag output_file_path
JSON入力ファイル・テンプレート
{ "service": { "category": "crypto", "resource": "data", "action": "encrypt", "options": { "uuid": "#VALUE", "data" : "#VALUE", "blockCipherMode" : "#CBC|ECB|CFB|OFB|GCM", "padding" : "#NONE|ZEROS|PKCS5", "randomIV" : "#TRUE|FALSE", "iv" : "#VALUE", "authenticatedEncryptionAdditionalData" : "#VALUE", "dataFormat": "#HEX|BASE64", "encryptedData": "#VALUE", "ivOut": "#VALUE", "authenticatedEncryptionTag" : "#VALUE" } } }
パラメータ
パラメータ/テンプレート・パラメータ | 必須かどうか | 説明 |
---|---|---|
|
必須 |
暗号化に使用するキーのUUID (Universally Unique ID)。 オブジェクトの一意識別子を調べるには、Oracle Key Vault管理コンソールで、「Keys & Wallets」タブをクリックして、左側のナビゲーション・ウィンドウで「Keys & Secrets」をクリックします。「Keys & Secrets」表で、「Unique Identifier」列を確認します。 |
|
必須 |
暗号化する必要がある平文データへのファイル・パス |
|
オプション |
ブロック暗号モード。値は次のとおりです。
この設定を省略すると、Oracle Key Vaultではキーに関連付けられた暗号化パラメータを使用します。 |
|
オプション |
パディング。値は次のとおりです。
この設定を省略すると、Oracle Key Vaultではキーに関連付けられた暗号化パラメータを使用します。 |
|
オプション |
Oracle Key Vaultサーバーでランダム初期化ベクトル(IV)を使用する必要があるかどうかを示します。値は次のとおりです。
Oracle Key Vaultは、このコマンドの入力でIVが指定されていない場合にのみ |
|
オプション |
暗号化操作に使用するIVのファイル・パス。
|
|
オプション |
暗号化操作に使用する認証済暗号化追加データのファイル・パス。
|
|
オプション |
データ形式。入力および出力ファイルのデータの形式。指定しない場合、データはバイナリ・データとして読み取られ、書き込まれます。値は次のとおりです。
|
|
必須 |
暗号化されたデータが書き込まれるファイル・パス。指定された出力ファイルが存在しない場合は、エラーになります。ファイルが存在する場合は、暗号化されたデータで上書きされます。 |
|
オプション |
応答のIVが書き込まれるファイル・パス。指定された出力ファイルが存在しない場合は、エラーになります。ファイルが存在する場合は、応答のIVで上書きされます。IVは、
|
|
オプション |
応答の認証済暗号化タグが書き込まれるファイル・パス。指定された出力ファイルが存在しない場合は、エラーになります。ファイルが存在する場合は、応答の認証済暗号化タグで上書きされます。返される認証済暗号化タグを暗号文の復号化に使用する必要があります。
|
JSONの例
okv crypto data encrypt
コマンドのJSON入力を生成します。okv crypto data encrypt --generate-json-input
次のような入力が生成されます。
{ "service": { "category": "crypto", "resource": "data", "action": "encrypt", "options": { "uuid": "#VALUE", "data" : "#VALUE", "blockCipherMode" : "#CBC|ECB|CFB|OFB|GCM", "padding" : "#NONE|ZEROS|PKCS5", "randomIV" : "#TRUE|FALSE", "iv" : "#VALUE", "authenticatedEncryptionAdditionalData" : "#VALUE", "dataFormat": "#HEX|BASE64", "encryptedData": "#VALUE", "ivOut": "#VALUE", "authenticatedEncryptionTag" : "#VALUE" } } }
- 生成された入力をファイル(たとえば、
key_encrypt.json
)に保存し、それを編集して必要な暗号化設定を含めます。暗号化時に使用する値と、生成されたivOutおよびauthenticatedEncryptionTag (ある場合)を記録しておきます。暗号文を復号化する場合は、同じ値を指定する必要があります。たとえば:{ "service": { "category": "crypto", "resource": "data", "action": "encrypt", "options": { "uuid": "2359E04F-DA61-4F7C-BF9F-913D3369A93A", "data" : "/okv/opt/data", "blockCipherMode" : "GCM", "padding" : "ZEROS", "iv" : "/okv/opt/iv", "authenticatedEncryptionAdditionalData" : "/okv/opt/keys/authenticatedEncryptionAdditionalData", "dataFormat": "HEX", "encryptedData": "/okv/opt/keys/encrypted_data", "authenticatedEncryptionTag" : "/okv/opt/keys/authenticatedEncryptionTag" } } }
- 生成されたJSONファイルを使用して
okv crypto data encrypt
コマンドを実行します。okv crypto data encrypt --from-json key_encrypt.json
出力は、次のようになります。
{ "result" : "Success", "value" : { "encryptedData" : "/okv/opt/keys/encrypted_data" "authenticatedEncryptionTag" : "/okv/opt/keys/authenticatedEncryptionTag" } }
親トピック: 暗号コマンド