

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM サーバー証明書の使用
<a name="examples-iam-server-certificates"></a>

でウェブサイトまたはアプリケーションへの HTTPS 接続を有効にするには AWS、SSL/TLS *サーバー証明書*が必要です。が提供するサーバー証明書、 AWS Certificate Manager または外部プロバイダーから取得したサーバー証明書を使用できます。

サーバー証明書のプロビジョニング、管理、デプロイ ACM には、 を使用することをお勧めします。 ACM を使用すると、証明書をリクエストし、 AWS リソースにデプロイして、 が証明書の更新 ACM を処理できます。が提供する証明書 ACM は無料です。詳細については ACM、[AWS Certificate Manager 「 ユーザーガイド](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)」を参照してください。

## サーバー証明書の取得
<a name="get-a-server-certificate"></a>

サーバー証明書を取得するには、IamClient の `getServerCertificate` メソッドを呼び出し、それに証明書の名前を含む [GetServerCertificateRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/GetServerCertificateRequest.html) を渡します。

 **インポート** 

```
import software.amazon.awssdk.services.iam.model.GetServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.GetServerCertificateResponse;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.iam.IamClient;
import software.amazon.awssdk.services.iam.model.IamException;
```

 **コード** 

```
    public static void getCertificate(IamClient iam,String certName ) {

        try {
            GetServerCertificateRequest request = GetServerCertificateRequest.builder()
                    .serverCertificateName(certName)
                    .build();

            GetServerCertificateResponse response = iam.getServerCertificate(request);
            System.out.format("Successfully retrieved certificate with body %s",
                response.serverCertificate().certificateBody());

         } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/iam/src/main/java/com/example/iam/GetServerCertificate.java) で完全な例をご覧ください。

## サーバー証明書の一覧表示
<a name="list-server-certificates"></a>

サーバー証明書を一覧表示するには、`listServerCertificates`ListServerCertificatesRequest[ を使用して IamClient の ](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/ListServerCertificatesRequest.html) メソッドを呼び出します。これにより [ListServerCertificatesResponse](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/ListServerCertificatesResponse.html) が返されます。

返された `ListServerCertificateResponse` オブジェクトの `serverCertificateMetadataList` メソッドを呼び出して、各証明書についての情報を取得するために使用できる [ServerCertificateMetadata](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/ServerCertificateMetadata.html) オブジェクトの一覧を取得します。

結果は切り捨てられる場合があります。`ListServerCertificateResponse` オブジェクトの `isTruncated` メソッドが `true` を返す場合は、`ListServerCertificatesResponse` オブジェクトの `marker` メソッドを呼び出します。その後、マーカーを使用して新しいリクエストを作成します。この新しいリクエストを使用して、再度 `listServerCertificates` を呼び出し、結果の次のバッチを取得します。

 **インポート** 

```
import software.amazon.awssdk.services.iam.model.IamException;
import software.amazon.awssdk.services.iam.model.ListServerCertificatesRequest;
import software.amazon.awssdk.services.iam.model.ListServerCertificatesResponse;
import software.amazon.awssdk.services.iam.model.ServerCertificateMetadata;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.iam.IamClient;
```

 **コード** 

```
    public static void listCertificates(IamClient iam) {

        try {
            boolean done = false;
            String newMarker = null;

            while(!done) {
              ListServerCertificatesResponse response;

            if (newMarker == null) {
                ListServerCertificatesRequest request =
                        ListServerCertificatesRequest.builder().build();
                response = iam.listServerCertificates(request);
            } else {
                ListServerCertificatesRequest request =
                        ListServerCertificatesRequest.builder()
                                .marker(newMarker).build();
                response = iam.listServerCertificates(request);
            }

            for(ServerCertificateMetadata metadata :
                    response.serverCertificateMetadataList()) {
                System.out.printf("Retrieved server certificate %s",
                        metadata.serverCertificateName());
            }

            if(!response.isTruncated()) {
                done = true;
            } else {
                newMarker = response.marker();
            }
        }

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/iam/src/main/java/com/example/iam/ListServerCertificates.java) で完全な例をご覧ください。

## サーバー証明書の更新
<a name="update-a-server-certificate"></a>

サーバー証明書の名前やパスを更新するには、IamClient の `updateServerCertificate` メソッドを呼び出します。サーバー証明書の現在の名前および使用する新しい名前か新しいパスのいずれかを使って設定した [UpdateServerCertificateRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/UpdateServerCertificateRequest.html) オブジェクトが使用されます。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.iam.IamClient;
import software.amazon.awssdk.services.iam.model.IamException;
import software.amazon.awssdk.services.iam.model.UpdateServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.UpdateServerCertificateResponse;
```

 **コード** 

```
    public static void updateCertificate(IamClient iam, String curName, String newName) {

        try {
            UpdateServerCertificateRequest request =
                UpdateServerCertificateRequest.builder()
                        .serverCertificateName(curName)
                        .newServerCertificateName(newName)
                        .build();

            UpdateServerCertificateResponse response =
                iam.updateServerCertificate(request);


            System.out.printf("Successfully updated server certificate to name %s",
                newName);

        } catch (IamException e) {
             System.err.println(e.awsErrorDetails().errorMessage());
             System.exit(1);
        }
     }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/iam/src/main/java/com/example/iam/UpdateServerCertificate.java) で完全な例をご覧ください。

## サーバー証明書の削除
<a name="delete-a-server-certificate"></a>

サーバー証明書を削除するには、証明書の名前を含む [DeleteServerCertificateRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/iam/model/DeleteServerCertificateRequest.html) を使用して、IamClient の `deleteServerCertificate` メソッドを呼び出します。

 **インポート** 

```
import software.amazon.awssdk.services.iam.model.DeleteServerCertificateRequest;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.iam.IamClient;
import software.amazon.awssdk.services.iam.model.IamException;
```

 **コード** 

```
    public static void deleteCert(IamClient iam,String certName ) {

        try {
            DeleteServerCertificateRequest request =
                DeleteServerCertificateRequest.builder()
                        .serverCertificateName(certName)
                        .build();

            iam.deleteServerCertificate(request);
            System.out.println("Successfully deleted server certificate " +
                    certName);

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/iam/src/main/java/com/example/iam/DeleteServerCertificate.java) で完全な例をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  IAM ユーザーガイド[のサーバー証明書の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 
+  IAM API リファレンスの [GetServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServerCertificate.html) 
+  IAM API リファレンスの [ListServerCertificates](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServerCertificates.html) 
+  IAM API リファレンスの [UpdateServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServerCertificate.html) 
+  IAM API リファレンスの [DeleteServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServerCertificate.html) 
+  [AWS Certificate Manager ユーザーガイド](https://docs.aws.amazon.com/acm/latest/userguide/) 