使用 Java 创建 URL 签名 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Java 创建 URL 签名

除了以下代码示例外,您还可以使用 Amazon SDK for Java(版本 1)中的 CloudFrontUrlSigner 实用程序类来创建 CloudFront 签名 URL

有关更多示例,请参阅《Amazon SDK 代码示例代码库》中的使用 Amazon 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); } }

另请参阅: