

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

# 용 JCE를 사용한 키 추출 AWS CloudHSM
<a name="java-lib-configs-getencoded"></a>

Java Cryptography Extension(JCE)은 다양한 암호화 구현을 연결할 수 있는 아키텍처를 사용합니다.는 암호화 작업을 HSM으로 오프로드하는 JCE 공급자를 AWS CloudHSM 제공합니다. 대부분의 다른 JCE 공급자가 AWS CloudHSM에 저장된 키를 사용하려면 HSM에서 일반 텍스트 형식의 키 바이트를 추출하여 시스템 메모리로 사용해야 합니다. HSM은 일반적으로 키를 래핑된 객체로만 추출하고 일반 텍스트로는 추출할 수 없습니다. 그러나 공급자 간 통합 사용 사례를 지원하기 위해는 옵트인 구성 옵션을 AWS CloudHSM 허용하여 일반에서 키 바이트를 추출할 수 있습니다.

**중요**  
JCE는 AWS CloudHSM 공급자가 지정되거나 AWS CloudHSM 키 객체가 사용될 AWS CloudHSM 때마다 작업을 로 오프로드합니다. 작업이 HSM 내에서 수행될 것으로 예상되는 경우 키를 명확하게 추출할 필요가 없습니다. 일반 텍스트로 키를 추출하는 것은 타사 라이브러리 또는 JCE 공급자의 제한으로 인해 애플리케이션에서 키 래핑 및 래핑 해제와 같은 보안 메커니즘을 사용할 수 없는 경우에만 필요합니다.

 AWS CloudHSM JCE 공급자를 사용하면 기본적으로 외부 JCE 공급자와 함께 작동하도록 **퍼블릭 키를** 추출할 수 있습니다. 항상 허용되는 방법은 다음과 같습니다.


| Class | 메서드 | 형식(getEncoded) | 
| --- | --- | --- | 
| EcPublicKey | getEncoded() | X.509 | 
|  | GetW () | 해당 사항 없음 | 
| RSA 퍼블릭 키 | getEncoded() | X.509 | 
|  | getPublicExponent() | 해당 사항 없음 | 
| CloudHsmRsaPrivateCrtKey | getPublicExponent() | 해당 사항 없음 | 

 AWS CloudHSM JCE 공급자는 기본적으로 **프라이빗** 또는 **보안** 키에 대해 키 바이트의 추출을 허용하지 않습니다. 사용 사례에 필요한 경우 다음과 같은 조건에서 **프라이빗** 또는 **비밀** 키에 대해 키 바이트를 선명하게 추출할 수 있습니다. 

1. 프라이빗 및 비밀 키의 `EXTRACTABLE` 속성은 **true**로 설정됩니다.
   + 기본적으로 프라이빗 및 비밀 키의 `EXTRACTABLE` 속성은 **true로** 설정됩니다. `EXTRACTABLE`키는 HSM에서 내보낼 수 있는 키입니다. 지원되는 Java 속성에 대한 자세한 내용은 [Client SDK 5](java-lib-attributes_5.md)를 참조하십시오.

1. 프라이빗 키와 비밀 키의 `WRAP_WITH_TRUSTED` 속성은 **false**로 설정됩니다.
   + `getEncoded`, `getPrivateExponent`, 그리고 `getS`는 명확하게 내보낼 수 없는 프라이빗 키와 함께 사용할 수 없습니다. `WRAP_WITH_TRUSTED`는 프라이빗 키를 HSM 밖으로 명확하게 내보낼 수 없습니다. 자세한 내용은 [신뢰할 수 있는 키를 사용하여 키 래핑 해제 제어](manage-keys-using-trusted-keys.md)를 참조하십시오.

# JCE 공급자가에서 프라이빗 키 보안 암호를 추출하도록 허용 AWS CloudHSM
<a name="get-encoded-take-out-private-keys"></a>

다음 단계를 사용하여 AWS CloudHSM JCE 공급자가 프라이빗 키 보안 암호를 추출하도록 허용합니다.

**중요**  
이 구성 변경을 통해 HSM 클러스터에서 모든 `EXTRACTABLE` 키 바이트를 안전하게 추출할 수 있습니다. 보안을 강화하려면 [키 래핑 방법](java-lib-supported_5.md)을 사용하여 HSM에서 키를 안전하게 추출하는 것을 고려해야 합니다. 이렇게 하면 HSM에서 실수로 키 바이트를 추출하는 것을 방지할 수 있습니다.

1. 다음 명령을 사용하여 **프라이빗** 또는 **비밀** 키를 JCE에서 추출할 수 있도록 하세요.

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

   ```
   $ /opt/cloudhsm/bin/configure-jce --enable-clear-key-extraction-in-software
   ```

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

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --enable-clear-key-extraction-in-software
   ```

------

1. 지우기 키 추출을 활성화하면 다음과 같은 방법으로 프라이빗 키를 메모리로 추출할 수 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/get-encoded-take-out-private-keys.html)

기본 동작을 복원하고 JCE가 키를 정상적으로 내보내지 못하도록 하려면 다음 명령을 실행하십시오.

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

```
$ /opt/cloudhsm/bin/configure-jce --disable-clear-key-extraction-in-software
```

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

```
PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-clear-key-extraction-in-software
```

------