PKA 暗号化 (CSNDPKE および CSNFPKE)

この呼び出し可能サービスでは、指定された非暗号化鍵値が RSA 公開鍵で暗号化されます。 暗号化の前に規則配列キーワードによって鍵のフォーマットが指定されます。

AMODE(64) 呼び出しの呼び出し可能サービス名は CSNFPKE です。

形式

CALL CSNDPKE(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             keyvalue_length,
             keyvalue,
             data_structure_length,
             data_structure,
             PKA_key_identifier_length,
             PKA_key_identifier,
             PKA_enciphered_keyvalue_length,
             PKA_enciphered_keyvalue)

パラメーター

return_code
方向 タイプ
出力 整数

戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。

reason_code
方向 タイプ
出力 整数

理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。

exit_data_length
方向 タイプ
入出力 整数

インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。

exit_data
方向 タイプ
入出力 ストリング

このデータはインストール出口に渡されます。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワードの数。 値は 1 または 2 にすることができます。

rule_array
方向 タイプ
入力 ストリング

制御情報を呼び出し可能サービスに提供するキーワード。 キーワードは、8 バイト・フィールドで左寄せされ、右側にブランクが埋め込まれます。

表 1. PKA 暗号化のキーワード
キーワード 意味
フォーマット方式 (必須) : 暗号化の前に鍵値をフォーマットするために使用される方式が指定されます。
PKCS-1.2 指定の鍵値をフォーマットするために RSA PKCS #1 V1.5 ブロック・タイプ 02 フォーマットが使用されます。
ZERO-PAD 鍵値の左側には、PKA 鍵モジュラスの長さまで 2 進ゼロが埋め込まれます。 公開鍵の指数は奇数でなければなりません。
MRP 鍵値の左側には、PKA 鍵モジュラスの長さまで 2 進ゼロが埋め込まれます。 RSA 公開鍵の指数は偶数でも奇数でもかまいません。
鍵規則 (オプション)
KEYIDENT これは、keyvalue フィールド内の値が CKDS における非暗号化トークンのラベルであることを指示します。 keyvalue_length は 64 でなければなりません。
keyvalue_length
方向 タイプ
入力 整数

keyvalue パラメーターの長さ。 最大フィールド・サイズは 512 バイトです。 実際の最大サイズは、PKA_key_identifier のモジュラス長と、rule_array パラメーターで 指定されるフォーマット方式によって決まります。 鍵規則 KEYIDENT が指定される場合、keyvalue_length パラメーターは 64 バイトにする必要があります。

keyvalue
方向 タイプ
入力 ストリング

この フィールドには、PKA_key_identifier で暗号化される指定の非暗号化鍵値が含まれます。 鍵規則 KEYIDENT が指定される場合、keyvalue パラメーターには、 有効な CKDS 非暗号化鍵トークンのラベルが含まれているとみなされます。

data_structure_length
方向 タイプ
入力 整数

この値は 0 でなければなりません。

data_structure
方向 タイプ
入力 ストリング

このフィールドは現在では無視されます。

PKA_key_identifier_length
方向 タイプ
入力 整数

PKA_key_identifier パラメーターの長さ。 PKA_key_identifier が鍵ラベルの場合、このフィールドはラベルの長さを指定します。 指定できる最大サイズは 3500 バイトです。

PKA_key_identifier
方向 タイプ
入力 ストリング

指定された鍵値の暗号化に使用される RSA 公開鍵/秘密鍵の トークンまたはラベル。

PKA_enciphered_keyvalue_length
方向 タイプ
入出力 整数

PKA_enciphered_keyvalue パラメーターの長さ (バイト)。 指定できる最大サイズは 512 バイトです。 戻り時に、このフィールドは、PKA_enciphered_keyvalue の実際の長さで更新されます。

この長さは PKA_key_identifier のモジュラス長と同じでなければなりません。

PKA_enciphered_keyvalue
方向 タイプ
出力 ストリング

このフィールドには、RSA 公開鍵で保護されている鍵値が含まれます。 このバイト長ストリングは PKA_enciphered_keyvalue パラメーター内で左寄せにされます。

制約事項

RSA 公開鍵の指数は奇数でなければなりません。 モジュラスが 2048 を超える場合、公開鍵指数は 3 または 65537 でなければなりません。

使用上の注意

  • 呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
  • RSA DSI PKCS #1 フォーマットの場合、鍵値の長さは RSA 鍵のモジュラス長より 11 バイト以上短くなければなりません。
  • ハードウェア構成によって鍵管理用の鍵のモジュラス・サイズに制限が設定されるため、RSA 鍵モジュラスのビット長が この制限を超えると、このサービスは失敗します。
  • 暗号化される鍵値は、PKA_key_identifier におけるモジュラスよりも小さくなければなりません。

アクセス制御点

「PKA Encrypt」アクセス制御点は、このサービスの機能を制御するものです。

必須ハードウェア

下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。

表 2. PKA 暗号化必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

PCI X 暗号化コプロセッサー

Crypto Express2 コプロセッサー

これは、 いずれかの PCICA が使用可能であれば、そこに経路指定されます (ZERO-PAD および MRP のみ)。

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

PCI 暗号アクセラレーター PKCS-1.2 キーワードはサポートされていません。

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

IBM System z9 EC

IBM System z9 BC

Crypto Express2 コプロセッサー これは、 いずれかの CEX2A が使用可能であれば、そこに経路指定されます (ZERO-PAD および MRP のみ)。

2048 ビットから 4096 ビットの範囲内のモジュラスを持つ RSA 鍵サポートには 2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

Crypto Express2 アクセラレーター

PKCS-1.2 キーワードはサポートされていません。

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

Crypto Express3 コプロセッサー

これは、いずれかの CEX2A または CEX3A が使用可能であれば、 そこに経路指定されます (ZERO-PAD および MRP のみ)。

2048 ビットから 4096 ビットの範囲内のモジュラスを持つ RSA 鍵サポートには 2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

Crypto Express2 アクセラレーター

Crypto Express3 アクセラレーター

PKCS-1.2 キーワードはサポートされていません。

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー これは、いずれかの CEX2A または CEX3A が使用可能であれば、 そこに経路指定されます (ZERO-PAD および MRP のみ)。
Crypto Express3 アクセラレーター PKCS-1.2 キーワードはサポートされていません。

2048 ビットから 4096 ビットまでの範囲内のモジュラスを含む RSA 非暗号化鍵サポートには、2011 年 9 月以降のライセンス内部コード (LIC) が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

これは、いずれかの CEX3A または CEX4A が使用可能であれば、そこに経路指定されます (ZERO-PAD および MRP のみ)。
Crypto Express3 アクセラレーター

Crypto Express4 CCA アクセラレーター

PKCS-1.2 キーワードはサポートされていません。
IBM z13 Crypto Express5 CCA コプロセッサー (CEX5C) これは、いずれかの CEX5A が使用可能であれば、そこに経路指定されます (ZERO-PAD および MRP のみ)。
Crypto Express5 CCA アクセラレーター (CEX5A) PKCS-1.2 キーワードはサポートされていません。