

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

# AWS Encryption SDK for Java
<a name="java"></a>

이 주제에서는 AWS Encryption SDK for Java를 설치 및 사용하는 방법을 설명합니다. 를 사용한 프로그래밍에 대한 자세한 내용은 GitHub의 [aws-encryption-sdk-java](https://github.com/aws/aws-encryption-sdk-java/) 리포지토리를 AWS Encryption SDK for Java참조하세요. API 설명서를 보려면 AWS Encryption SDK for Java용 [Javadoc](https://aws.github.io/aws-encryption-sdk-java/)을 참조하세요.

**Topics**
+ [사전 조건](#java-prerequisites)
+ [설치](#java-installation)
+ [예제](java-example-code.md)

## 사전 조건
<a name="java-prerequisites"></a>

를 설치하기 전에 다음 사전 조건이 있는지 AWS Encryption SDK for Java확인합니다.

**Java 개발 환경**  
Java 8 이상이 필요합니다. Oracle 웹 사이트에서 [Java SE 다운로드](https://www.oracle.com/java/technologies/downloads/)로 이동한 다음 Java SE Development Kit(JDK)를 다운로드하여 설치합니다.  
Oracle JDK를 사용하는 경우 [Java Cryptography Extension(JCE) Unlimited Strength Jurisdiction Policy File](http://www.oracle.com/java/technologies/javase-jce8-downloads.html)도 다운로드하여 설치해야 합니다.

**Bouncy Castle**  
에는 [Bouncy Castle](https://www.bouncycastle.org/download/bouncy-castle-java/)이 AWS Encryption SDK for Java 필요합니다.  
+ AWS Encryption SDK for Java 버전 1.6.1 이상에서는 Bouncy Castle을 사용하여 암호화 객체를 직렬화하고 역직렬화합니다. 이 요구 사항을 충족하기 위해 Bouncy Castle 또는 [Bouncy Castle FIPS](https://www.bouncycastle.org/about/bouncy-castle-fips-faq/)를 사용할 수 있습니다. Bouncy Castle FIPS 설치 및 구성에 대한 도움말은 [BC FIPS 설명서](https://www.bouncycastle.org/documentation/), 특히 **사용 설명서** 및 **보안 정책** PDF를 참조하세요.
+ 이전 버전의 에서는 Java용 Bouncy Castle의 암호화 API를 AWS Encryption SDK for Java 사용합니다. 이 요구 사항은 비 FIPS Bouncy Castle만 만족합니다.
Bouncy Castle이 없는 경우 [Java용 Bouncy Castle 다운로드](https://bouncycastle.org/download/bouncy-castle-java/)로 이동하여 JDK에 해당하는 공급자 파일을 다운로드합니다. [Apache Maven](https://maven.apache.org/)을 사용하여 표준 Bouncy Castle 공급자([bcprov-ext-jdk15on](https://mvnrepository.com/artifact/org.bouncycastle/bcprov-ext-jdk15on))용 아티팩트 또는 Bouncy Castle FIPS([bc-fips](https://mvnrepository.com/artifact/org.bouncycastle/bc-fips))용 아티팩트를 가져올 수 있습니다.

**AWS SDK for Java**  
의 버전 3.*x*에는 AWS KMS 키링을 사용하지 AWS SDK for Java 2.x않더라도가 AWS Encryption SDK for Java 필요합니다.  
버전 2.*x* 이하 AWS Encryption SDK for Java 에서는가 필요하지 않습니다 AWS SDK for Java. 그러나 [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS)를 마스터 키 공급자로 사용하려면 AWS SDK for Java 가 필요합니다. AWS Encryption SDK for Java 버전 2.4.0부터는 1.x 및 2.x용 AWS SDK for Java. AWS Encryption SDK code 버전 AWS SDK for Java 1.x 및 2.x를 모두 AWS Encryption SDK for Java 지원하며 상호 운용할 수 있습니다. 예를 들어, AWS SDK for Java 가1.x를 지원하는 AWS Encryption SDK 코드로 데이터를 암호화하고가 지원하는 코드 AWS SDK for Java 2.x (또는 그 반대)를 사용하여 복호화할 수 있습니다. 2.4.0 AWS Encryption SDK for Java 이전 버전의는 AWS SDK for Java 1.x만 지원합니다. 버전 업데이트에 대한 자세한 내용은 섹션을 AWS Encryption SDK참조하세요[마이그레이션 AWS Encryption SDK](migration.md).  
 AWS Encryption SDK for Java 코드를 AWS SDK for Java 1.x에서 로 업데이트할 때 [`AWSKMS` 인터페이스](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kms/package-summary.html) in AWS SDK for Java 1.x에 대한 참조를 [`KmsClient` 인터페이스](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/package-summary.html) in에 대한 참조로 AWS SDK for Java 2.x바꿉니다 AWS SDK for Java 2.x. AWS Encryption SDK for Java 는 [`KmsAsyncClient` 인터페이스를](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html) 지원하지 않습니다. 또한 `kms` 네임스페이스 대신 `kmssdkv2` 네임스페이스의 AWS KMS관련 객체를 사용하도록 코드를 업데이트하세요.  
를 설치하려면 Apache Maven을 AWS SDK for Java사용합니다.  
+ [전체 AWS SDK for Java를 종속성으로 가져오려면](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-project-maven.html#build-the-entire-sdk-into-your-project) `pom.xml` 파일에 선언하세요.
+  AWS SDK for Java 1.x의 AWS KMS 모듈에 대해서만 종속성을 생성하려면 [특정 모듈 지정](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html#modules-dependencies) 지침을 따르고를 `artifactId`로 설정합니다`aws-java-sdk-kms`.
+  AWS SDK for Java 2.x의 AWS KMS 모듈에 대해서만 종속성을 생성하려면 [특정 모듈 지정](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-project-maven.html#modules-dependencies) 지침을 따르세요. `groupId`를 `software.amazon.awssdk`로, `artifactId`를 `kms`로 설정합니다.
자세한 내용은 AWS SDK for Java 2.x 개발자 안내서[의 AWS SDK for Java 1.x와 2.x의 차이점](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-whats-different.html)을 참조하세요.  
 AWS Encryption SDK 개발자 안내서의 Java 예제에서는를 사용합니다 AWS SDK for Java 2.x.

## 설치
<a name="java-installation"></a>

 AWS Encryption SDK for Java의 최신 버전을 설치합니다.

**참고**  
2.0.0 AWS Encryption SDK for Java 이전의 모든 버전은 [end-of-support 단계에](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) 있습니다.  
코드나 데이터를 변경하지 않고 버전 2.0.*x* 이상에서 AWS Encryption SDK for Java 의 최신 버전으로 안전하게 업데이트할 수 있습니다. 그러나 버전 2.0.*x*에 도입된 [새로운 보안 기능](about-versions.md#version-2)은 이하 버전과 호환되지 않습니다. 1.7.*x* 이하 버전에서 2.0.*x* 이상 버전으로 업데이트하려면 먼저 AWS Encryption SDK의 최신 1.*x* 버전으로 업데이트해야 합니다. 자세한 내용은 [마이그레이션 AWS Encryption SDK](migration.md)을 참조하세요.

다음과 같은 AWS Encryption SDK for Java 방법으로를 설치할 수 있습니다.

**직접**  
를 설치하려면 [aws-encryption-sdk-java](https://github.com/aws/aws-encryption-sdk-java/) GitHub 리포지토리를 AWS Encryption SDK for Java복제하거나 다운로드합니다.

**Apache Maven 사용**  
 AWS Encryption SDK for Java 는 다음 종속성 정의와 함께 [Apache Maven](https://maven.apache.org/)을 통해 사용할 수 있습니다.  

```
<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-encryption-sdk-java</artifactId>
  <version>3.0.0</version>
</dependency>
```

SDK를 설치한 후에는 이 가이드의 [예제 Java 코드](java-example-code.md)와 [GitHub의 Javadoc](https://aws.github.io/aws-encryption-sdk-java/)을 살펴보는 것부터 시작하세요.