

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# PKCS \$111 라이브러리를 사용한 인증서 스토리지
<a name="pkcs11-certificate-storage"></a>

 AWS CloudHSM PKCS \$111 라이브러리는 퍼블릭 키 인증서를 hsm2m.medium 클러스터에 "퍼블릭 객체"(PKCS \$111 2.40에 정의됨)로 저장하는 것을 지원합니다. 이 기능을 사용하면 퍼블릭 및 프라이빗 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`**  
인증서 객체 중 하나 이상의 속성 값을 가져옵니다.

**`C_SetAttributeValue`**  
인증서 객체 중 하나 이상의 속성 값을 업데이트합니다.

## 인증서 객체 검색 작업
<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 |  `True`여야 합니다. | 
| `CKA_MODIFIABLE` | True | `True`여야 합니다. | 
| `CKA_PRIVATE` | False | `False`여야 합니다. | 
| `CKA_LABEL` | 비어 있음 | 127자로 제한됩니다. | 
| `CKA_COPYABLE` | False | `False`여야 합니다. | 
| `CKA_DESTROYABLE` | True | `True`여야 합니다. | 
| `CKA_CERTIFICATE_TYPE` | 필수 | `CKC_X_509`여야 합니다. | 
| `CKA_TRUSTED` | False | `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
}
```