

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CloudHSM クライアント SDK 5 でサポートされている Java キー属性
<a name="java-lib-attributes_5"></a>

このトピックでは、 AWS CloudHSM クライアント SDK 5 でサポートされている Java キー属性について説明します。このトピックでは、JCE プロバイダーの独自の拡張機能を使用してキーの属性を設定する方法について説明します。この拡張機能を使用して、これらのオペレーション中にサポートされるキー属性とその値を設定します。
+ キー生成
+ キーのインポート

キーアトリビュートの使用方法の例については、「[Java for Client SDK 5 用の AWS CloudHSM ソフトウェアライブラリのコードサンプル](java-samples.md)」を参照してください。

**Topics**
+ [属性について](#java-understanding-attributes_5)
+ [サポートされている 属性](#java-attributes_5)
+ [キーの属性設定](#java-setting-attributes_5)

## 属性について
<a name="java-understanding-attributes_5"></a>

キー属性を使用して、パブリックキー、プライベートキー、シークレットキーなど、キーオブジェクトで許可されるアクションを指定します。キー属性と値は、キーオブジェクトの作成オペレーション中に定義されます。

Java Cryptography Extension (JCE) では、キー属性に値を設定する方法が指定されていないため、ほとんどのアクションがデフォルトで許可されていました。これに対して、PKCS \# 11 標準では、より制限の厳しいデフォルトのある包括的な属性のセットが定義されています。JCE プロバイダー 3.1 以降、 は一般的に使用される属性に対してより制限の厳しい値を設定できる独自の拡張機能 AWS CloudHSM を提供します。

## サポートされている 属性
<a name="java-attributes_5"></a>

次の表に示す属性の値を設定できます。ベストプラクティスとして、制限する属性の値のみを設定してください。値を指定しない場合、 は以下の表で指定されたデフォルト値 AWS CloudHSM を使用します。デフォルト値の列のセルが空の場合は、属性に割り当てられている特定のデフォルト値がないことを示します。


****  
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/java-lib-attributes_5.html)

**注記**  
PKCS \#11 ライブラリでは、より広範な属性がサポートされます。詳細については、「[サポートされている PKCS \#11 属性](pkcs11-attributes.md)」を参照してください。

## キーの属性設定
<a name="java-setting-attributes_5"></a>

`KeyAttributesMap` は Java Map のようなオブジェクトで、キーオブジェクトの属性値を設定するために使用できます。`KeyAttributesMap` 関数のメソッドは、Java マップ操作のメソッドと同様です。

属性にカスタム値を設定するには、次の 2 つのオプションがあります。
+ 次の表に示す方法を使用します。
+ このドキュメントの後半で説明するビルダーパターンの使用

属性マップオブジェクトは、属性を設定するための次のメソッドをサポートしています。


****  

| 運用 | 戻り値 | `KeyAttributesMap` 方法 | 
| --- | --- | --- | 
| 既存のキーのキー属性の値を取得する | オブジェクト (値を含む) または null | **get**(keyAttribute) | 
| 1 つのキー属性の値を入力します。 | キー属性のマッピングがなかった場合、キー属性に関連付けられた以前の値、または null | **put**(keyAttribute, value) | 
| 複数のキー属性の値を設定する | 該当なし | **putAll**(keyAttributesMap) | 
| 属性マップからキーと値のペアを削除する | キー属性のマッピングがなかった場合、キー属性に関連付けられた以前の値、または *null* | **remove**(keyAttribute) | 

**注記**  
明示的に指定しない属性は、上記の [サポートされている 属性](#java-attributes_5) の表に示したデフォルトに設定されます。

### キーペアの属性設定
<a name="java-setting-attributes-key-pair"></a>

Java クラス `KeyPairAttributesMap` を使用して、キーペアのキー属性を処理します。`KeyPairAttributesMap` は、2 つの `KeyAttributesMap` オブジェクトをカプセル化します。1 つはパブリックキー用ともう 1 つはプライベートキー用です。

パブリックキーとプライベートキーの個々の属性を個別に設定するには、そのキーの対応する `KeyAttributes` マップオブジェクトで `put()` メソッドを使用できます。`getPublic()` メソッドを使用してパブリックキーの属性マップを取得し、`getPrivate()` を使用してプライベートキーの属性マップを取得します。引数としてキーペア属性マップを使用する `putAll()` を使用して、パブリックキーペアとプライベートキーペアの両方に、複数のキー属性の値を一緒に入力します。