

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

# PKCS \$111 ライブラリを使用した証明書ストレージ
<a name="pkcs11-certificate-storage"></a>

 AWS CloudHSM の PKCS \$111 ライブラリは、hsm2m.medium クラスター上でパブリックキー証明書を「パブリックオブジェクト」(PKCS \$111 2.40 で定義) として保存することをサポートしています。この機能により、パブリック PKCS \$111 セッションとプライベート PKCS \$111 セッションの両方で、パブリックキー証明書の作成、取得、変更、および削除が可能になります。

 PKCS \$111 ライブラリで証明書ストレージを使用するには、クライアント設定でこの機能を有効にする必要があります。有効化すると、PKCS \$111 アプリケーションから証明書オブジェクトを管理できるようになります。証明書とキーの両方に適用されるオペレーション ([C\$1FindObjects](http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html#_Toc323205461) など) は、キーと証明書の両方のストレージから結果を返します。

**Topics**
+ [証明書ストレージを有効にする](pkcs11-certificate-storage-configuration.md)
+ [証明書ストレージ API](pkcs11-certificate-storage-api.md)
+ [証明書の属性](pkcs11-certificate-storage-attributes.md)
+ [証明書ストレージの監査ログ](pkcs11-certificate-storage-audit-logs.md)

# 証明書ストレージの有効化
<a name="pkcs11-certificate-storage-configuration"></a>

 PKCS \$111 ライブラリの設定ツールを使用して、hsm2m.medium クラスターで証明書ストレージを有効化できます。この機能は、SDK バージョン 5.13 以降で利用可能です。証明書オブジェクトタイプをサポートするオペレーションの一覧については、[証明書ストレージ API オペレーション](pkcs11-certificate-storage-api.md) を参照してください。

 証明書ストレージを有効にするには、使用しているオペレーティングシステムに応じて次の手順に従ってください。

------
#### [ Linux ]
+ 

****証明書ストレージを有効にする****  
次のコマンドを実行します。

  ```
  $ sudo /opt/cloudhsm/bin/configure-pkcs11 --enable-certificate-storage
  ```

------
#### [ Windows ]
+ 

****証明書ストレージを有効にする****  
コマンドプロンプトを開き、次のコマンドを実行します。

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" --enable-certificate-storage
  ```

------

# 証明書ストレージ API オペレーション
<a name="pkcs11-certificate-storage-api"></a>

 次の PKCS \$111 オペレーションは、証明書オブジェクトタイプ (`CKO_CERTIFICATE`) をサポートしています。

## 一般的な証明書オペレーション
<a name="general-certificate-operations"></a>

**`C_CreateObject`**  
新しい証明書オブジェクトを作成します。

**`C_DestroyObject`**  
既存の証明書オブジェクトを削除します。

**`C_GetAttributeValue`**  
証明書オブジェクトの 1 つ以上の属性の値を取得します。

**`C_SetAttributeValue`**  
証明書オブジェクトの 1 つ以上の属性の値を更新します。

## 証明書オブジェクトの検索オペレーション
<a name="certificate-object-search-operations"></a>

**`C_FindObjectsInit`**  
証明書オブジェクトの検索を開始します。

**`C_FindObjects`**  
証明書オブジェクトの検索を続行します。

**`C_FindObjectsFinal`**  
証明書オブジェクトの検索を終了します。

# 証明書ストレージの属性
<a name="pkcs11-certificate-storage-attributes"></a>

 次の表に、サポートされている証明書オブジェクトの属性とその値を示します。


| 属性 | デフォルトの 値 | 説明 | 
| --- | --- | --- | 
| `CKA_CLASS` | 必須 | `CKO_CERTIFICATE` を指定してください。 | 
| `CKA_TOKEN` | 正 |  `True` を指定してください。 | 
| `CKA_MODIFIABLE` | 正 | `True` を指定してください。 | 
| `CKA_PRIVATE` | 誤 | `False` を指定してください。 | 
| `CKA_LABEL` | 空 | 最大 127 文字。 | 
| `CKA_COPYABLE` | 誤 | `False` を指定してください。 | 
| `CKA_DESTROYABLE` | 正 | `True` を指定してください。 | 
| `CKA_CERTIFICATE_TYPE` | 必須 | `CKC_X_509` を指定してください。 | 
| `CKA_TRUSTED` | 誤 | `False` を指定してください。 | 
| `CKA_CERTIFICATE_CATEGORY` | `CK_CERTIFICATE_CATEGORY_UNSPECIFIED` | `CK_CERTIFICATE_CATEGORY_UNSPECIFIED` を指定してください。 | 
| `CKA_CHECK_VALUE` | `CKA_VALUE` から派生 | `CKA_VALUE` に基づいて自動的に設定されます。 | 
| `CKA_START_DATE` | 空 | 証明書の「Not Before」日付。 | 
| `CKA_END_DATE` | 空 | 証明書の「Not After」日付。 | 
| `CKA_PUBLIC_KEY_INFO` | 空 | 最大サイズは 16 キロバイトです。 | 
| `CKA_SUBJECT` | 必須 | 証明書のサブジェクト。 | 
| `CKA_ID` | 空 | 最大サイズは 128 バイトです。一意性は強制されません。 | 
| `CKA_ISSUER` | 空 | 証明書の発行者。 | 
| `CKA_SERIAL_NUMBER` | 空 | 証明書のシリアル番号。 | 
| `CKA_VALUE` | 必須 | 最大サイズは 32 キロバイトです。 | 

# 証明書ストレージの監査ログ
<a name="pkcs11-certificate-storage-audit-logs"></a>

 AWS CloudHSM は、データを変更する証明書ストレージのオペレーションについて、クラスターの CloudWatch ロググループ内にある Amazon CloudWatch Events の個別ログストリームに監査ログを書き込みます。このログストリームは、クラスター単位で命名され、クラスタ内の特定の HSM ごとには作成されません。

 CloudWatch で監査ログにアクセスする方法については、[Amazon CloudWatch Logs と AWS CloudHSM 監査ログの使用](get-hsm-audit-logs-using-cloudwatch.md) を参照してください。

## ログエントリフィールド
<a name="pkcs11-certificate-storage-audit-logs-fields"></a>

`object_handle`  
証明書オブジェクトの一意の識別子。

`op_code`  
実行または試行されたオペレーション。使用できる値:  
+ `CreateObject`
+ `DestroyObject`
+ `SetAttributeValues`

`response`  
オペレーションが成功した場合は `OK`、または次のいずれかのエラータイプ。  
+ `DuplicateAttribute`
+ `InvalidAttributeValue`
+ `ObjectNotFound`
+ `MaxObjectsReached`
+ `InternalFailure`

`attributes`  
変更された属性 (存在する場合)。

`timestamp`  
オペレーションが発生した時刻 (Unix エポックからの経過ミリ秒)。

## 監査ログの例
<a name="pkcs11-certificate-storage-audit-logs-examples"></a>

### CreateObject の例
<a name="pkcs11-certificate-storage-audit-logs-examples-create"></a>

```
{
    "object_handle": 463180677312929947,
    "op_code": "CreateObject",
    "response": "OK",
    "attributes": null,
    "timestamp": 1725482483671
}
```

### DestroyObject の例
<a name="pkcs11-certificate-storage-audit-logs-examples-delete"></a>

```
{
    "object_handle": 463180677312929947,
    "op_code": "DestroyObject",
    "response": "OK",
    "attributes": null,
    "timestamp": 1725482484559
}
```

### SetAttributeValues の例
<a name="pkcs11-certificate-storage-audit-logs-examples-set"></a>

```
{
    "object_handle": 463180678453346687,
    "op_code": "SetAttributeValues",
    "response": "OK",
    "attributes": [
        "Label"
    ],
    "timestamp": 1725482488004
}
```

### 失敗した CreateObject の例
<a name="pkcs11-certificate-storage-audit-logs-examples-error"></a>

```
{
    "object_handle": null,
    "op_code": "CreateObject",
    "response": "MaxObjectsReached",
    "attributes": null,
    "timestamp": 1726084937125
}
```