

# Java を使用して URL 署名を作成する
<a name="CFPrivateDistJavaDevelopment"></a>

次のコード例に加えて、AWS SDK for Java (バージョン 1) の[`CloudFrontUrlSigner` ユーティリティクラス](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudfront/CloudFrontUrlSigner.html)を使用して [CloudFront の署名付き URL](private-content-signed-urls.md) を作成することもできます。

その他の例については、「AWS SDK コードサンプルコードライブラリ」の「[AWS SDK を使用して署名付き URL と Cookie を作成する](https://docs.aws.amazon.com/code-library/latest/ug/cloudfront_example_cloudfront_CloudFrontUtilities_section.html)」を参照してください。**

**注記**  
署名付き URL の作成は、[CloudFront を使用してプライベートコンテンツを供給する](PrivateContent.md)プロセスの一部にすぎません。プロセス全体の詳細については、「[署名付き URL を使用する](private-content-signed-urls.md)」を参照してください。

以下の例は、CloudFront の署名付き URL の作成方法を示しています。

**Example Java のポリシーおよび署名暗号化メソッド**  <a name="ExampleJavaPolicyAndSignatureEncryptionMethods"></a>

```
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);

    }
}
```

次の資料も参照してください:
+ [Perl を使用して URL 署名を作成する](CreateURLPerl.md)
+ [PHP を使用して URL 署名を作成する](CreateURL_PHP.md)
+ [C\$1 と .NET Framework を使用して URL 署名を作成する](CreateSignatureInCSharp.md)