JCEプロバイダのキー属性
このトピックのキー属性は、専用KMS JCEプロバイダの使用時にキーの生成およびキーのインポート中に設定できます。
キー属性の指定
次の例は、キー・ジェネレータの使用時に属性を指定する方法を示しています。
KeyGenerator kg = KeyGenerator.getInstance("AES", "DedicatedKmsProvider");
KeyAttributesMap attributesMap = new KeyAttributesMap();
attributesMap.put(KeyAttribute.SIZE, 256);
attributesMap.put(KeyAttribute.LABEL, UUID.randomUUID().toString());
attributesMap.put(KeyAttribute.EXTRACTABLE, true);
attributesMap.put(KeyAttribute.PERSISTENT, false);
kg.init(attributesMap, null);
SecretKey sk = kg.generateKey();
キー属性参照
属性 | サポートされる値 | デフォルト値 | ノート |
---|---|---|---|
CRT_COEFFICIENT | RSA Key Factoryで使用します。中国剰余理論の係数q-1 mod pをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください | ||
CURVE_TYPE | secp224r1 (P-224)、secp256r1 (P-256)、secp256k1 (ブロックチェーン)、secp384r1 (P-384)およびsecp521r1 (P-521) | ECキー・ペア・ジェネレータで使用します。キー・ペア・ジェネレータの楕円曲線(EC)を指定するために使用します。EC曲線は、EC関連の暗号化操作で使用されます。 | |
EC_PARAMS | ECキー・ファクトリで使用します。楕円曲線キー・ファクトリでEC_PARAMS を使用して、ECParameterSpec を使用して楕円曲線を表し、シリアライズ用のbyte[] 表現を使用します。 |
||
EC_POINT | ECキー・ファクトリで使用します。楕円曲線キー・ファクトリでEC_POINTを使用して、直列化用のbyte[] 表現を使用して楕円曲線上の点を指定します。 |
||
拡張可能 | TrueまたはFalse(ブール) | True (対称キー、非対称秘密キー) | Trueは、このキーをHSMからエクスポートできることを示します。 |
ID | キーの識別に使用されるユーザー定義の値。 | ||
KEY_TYPE | AES、DESede、EC、RSA | キーのタイプ | |
ラベル | HSM上のキーを識別するためのユーザー定義文字列。キーごとに一意のラベルを使用することをお薦めします。 | ||
係数 | 係数nをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
永続 | TrueまたはFalse(ブール) | false | TRUEに設定すると、永続キーが作成されます。FALSEに設定すると、HSMへの接続が切断またはログアウトされたときに自動的に消去される一時キーが作成されます。 |
PRIME_EXPONENT_P | RSAキー・ファクトリで使用します。d mod (q-1)をバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PRIME_EXPONENT_Q | RSAキー・ファクトリで使用します。d mod (q-1)をバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PRIME_P | RSAキー・ファクトリで使用します。nの素因数pをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PRIME_Q | RSAキー・ファクトリで使用します。nの素因数qをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PRIVATE_EXPONENT | RSAキー・ファクトリで使用します。非公開指数dをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PRIVATE_LABEL | プライベートキーのユーザー定義ラベルを指定します。 | ||
PUBLIC_EXPONENT | RSAキー・ファクトリで使用します。public指数eをバイト配列として表します。詳細は、PKCS#1 v2.2を参照してください。 | ||
PUBLIC_LABEL | 公開キーのユーザー定義ラベルを指定します。 | ||
SIZE | 有効なキー・サイズ値については、キー・タイプおよびアルゴリズムを参照してください。 | キーのサイズ。 | |
VALUE | ECキー・ファクトリまたは秘密キー・ファクトリで使用する場合。エンコードされたキーをバイト配列として表します。 |