

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

# 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/ko_kr/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 Map 조작에 사용되는 메서드와 비슷합니다.

속성에 대한 사용자 지정 값을 설정하기 위해 다음 두 가지 옵션이 제공됩니다.
+ 다음 표에 나열된 메서드 사용
+ 이 문서 뒷부분에 설명된 빌더 패턴 사용

속성 맵 객체는 속성을 설정하기 위한 다음과 같은 메서드를 지원합니다:


****  

| 연산 | 반환 값 | `KeyAttributesMap` 메서드 | 
| --- | --- | --- | 
| 기존 키에 대한 키 속성 값 가져오기 | 객체(값 포함) 또는 null | **get**(keyAttribute) | 
| 키 속성 하나의 값 채우기  | 키 속성과 연결된 이전 값 또는 키 속성에 대한 매핑이 없는 경우에는 null | **put**(keyAttribute, 값) | 
| 여러 키 속성에 대한 값 채우기 | 해당 사항 없음 | **putAll**(keyAttributesMap) | 
| 속성 맵에서 키-값 페어 제거 | 키 속성과 연결된 이전 값 또는 키 속성에 대한 매핑이 없는 경우에는 *null* | **remove**(keyAttribute) | 

**참고**  
명시적으로 지정하지 않은 속성은 [지원되는 속성](#java-attributes_5)의 이전 표에 나열된 기본값으로 설정됩니다.

### 키 페어에 대한 속성 설정
<a name="java-setting-attributes-key-pair"></a>

Java 클래스 `KeyPairAttributesMap`을 사용하여 키 페어에 대한 키 속성을 처리합니다. `KeyPairAttributesMap`은 두 개의 `KeyAttributesMap` 객체를 캡슐화합니다. 하나는 퍼블릭 키용이고 다른 하나는 개인 키용입니다.

퍼블릭 키와 개인 키에 대해 별도로 개별 속성을 설정하려면 키의 해당하는 `KeyAttributes` 맵 객체에 `put()` 메서드를 사용하면 됩니다. `getPublic()` 메서드를 사용하여 공개 키에 대한 속성 맵을 검색하고 `getPrivate()`을 사용하여 개인 키에 대한 속성 맵을 검색합니다. 키 페어 속성 맵에 `putAll()`을 인수로 사용하여 퍼블릭 및 개인 키 페어에 대한 여러 키 속성 값을 함께 채웁니다.