Java を使用して URL 署名を作成する
次のコード例に加えて、AWS SDK for Java (バージョン 1) のCloudFrontUrlSigner
ユーティリティクラスを使用して CloudFront の署名付き URL を作成することもできます。
その他の例については、「AWS SDK コードサンプルコードライブラリ」の「AWS SDK を使用して署名付き URL と Cookie を作成する」を参照してください。
注記
署名付き URL の作成は、CloudFront を使用してプライベートコンテンツを供給するプロセスの一部にすぎません。プロセス全体の詳細については、「署名付き URL を使用する」を参照してください。
以下の例は、CloudFront の署名付き URL の作成方法を示しています。
例 Java のポリシーおよび署名暗号化メソッド
package org.example; import java.time.Instant; import java.time.temporal.ChronoUnit; import software.amazon.awssdk.services.cloudfront.CloudFrontUtilities; import software.amazon.awssdk.services.cloudfront.model.CannedSignerRequest; import software.amazon.awssdk.services.cloudfront.url.SignedUrl; public class Main { public static void main(String[] args) throws Exception { CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); Instant expirationDate = Instant.now().plus(7, ChronoUnit.DAYS); String resourceUrl = "https://a1b2c3d4e5f6g7.cloudfront.net"; String keyPairId = "K1UA3WV15I7JSD"; CannedSignerRequest cannedRequest = CannedSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(new java.io.File("/path/to/private_key.pem").toPath()) .keyPairId(keyPairId) .expirationDate(expirationDate) .build(); SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCannedPolicy(cannedRequest); String url = signedUrl.url(); System.out.println(url); } }
以下も参照してください。