버전 1에서 버전 2로 Amazon CloudFront 사전 서명 변경 사항 - AWS SDK for Java 2.x

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

버전 1에서 버전 2로 Amazon CloudFront 사전 서명 변경 사항

이 주제에서는 버전 1(v1) CloudFront 에서 버전 2(v2)로의 Amazon 변경 사항에 대해 자세히 설명합니다.

높은 수준의 변경 사항

변경 사항 v1 v2

Maven 종속성

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.5871</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.27.212</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
패키지 이름 com.amazonaws.services.cloudfront software.amazon.awssdk.services.cloudfront
클래스 이름

CloudFrontUrlSigner

CloudFrontCookieSigner

CloudFrontUtilities

SignedUrl

CannedSignerRequest

CustomSignerRequest

1 최신 버전. 2 최신 버전.

API 변경 사항

동작 v1 v2
사전 준비된 요청 빌드 인수는 로 직접 전달됩니다API.
CannedSignerRequest cannedRequest = CannedSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(privateKey) .keyPairId(keyPairId) .expirationDate(expirationDate) .build();
사용자 지정 요청 빌드 인수는 로 직접 전달됩니다API.
CustomSignerRequest customRequest = CustomSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(keyFile) .keyPairId(keyPairId) .expirationDate(expirationDate) .activeDate(activeDate) .ipRange(ipRange) .build();
서명된URL(캔됨) 생성
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy( resourceUrl, keyPairId, privateKey, expirationDate);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCannedPolicy(cannedRequest); String url = signedUrl.url();
서명된 쿠키 생성(사용자 지정)
CookiesForCustomPolicy cookies = CloudFrontCookieSigner.getCookiesForCustomPolicy( resourceUrl, privateKey, keyPairId, expirationDate, activeDate, ipRange);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); CookiesForCustomPolicy cookies = cloudFrontUtilities.getCookiesForCustomPolicy(customRequest);

v2의 리팩터링된 쿠키 헤더

Java v1에서 Java는 쿠키 헤더를 로 SDK 제공합니다Map.Entry<String, String>.

Map.Entry<String, String> signatureMap = cookies.getSignature(); String signatureKey = signatureMap.getKey(); // "CloudFront-Signature" String signatureValue = signatureMap.getValue(); // "[SIGNATURE_VALUE]"

Java v2는 전체 헤더를 단일 로 SDK 제공합니다String.

String signatureHeaderValue = cookies.signatureHeaderValue(); // "CloudFront-Signature=[SIGNATURE_VALUE]"