适用于 Java 的 AWS 开发工具包
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 IAM 服务器证书

要在 AWS 上启用与您的网站或应用程序的 HTTPS 连接,您需要 SSL/TLS 服务器证书。您可以使用 AWS Certificate Manager 提供的服务器证书或您从外部提供程序获得的服务器证书。

我们建议您使用 ACM 来预置、管理和部署您的服务器证书。利用 ACM,您可以申请证书,将其部署到 AWS 资源,然后让 ACM 为您处理证书续订事宜。ACM 提供的证书是免费的。有关 ACM 的更多信息,请参阅 ACM 用户指南

获取服务器证书

您可以通过调用 IamClientgetServerCertificate 方法检索服务器证书,将包含证书名称的 GetServerCertificateRequest 传递给它。

导入

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;

代码

Region region = Region.AWS_GLOBAL; IamClient iam = IamClient.builder().region(region).build(); GetServerCertificateRequest request = GetServerCertificateRequest.builder() .serverCertificateName(cert_name).build(); GetServerCertificateResponse response = iam.getServerCertificate(request);

请参阅 GitHub 上的完整示例

列出服务器证书

要列出您的服务器证书,请使用 ListServerCertificatesRequest 调用 IamClientlistServerCertificates 方法。该方法返回 ListServerCertificatesResponse

调用返回的 ListServerCertificateResponse 对象的 serverCertificateMetadataList 方法以获取 ServerCertificateMetadata 对象的列表,您可以用它来获取关于每个证书的信息。

如果 ListServerCertificateResponse 对象的 isTruncated 方法返回了 true,调用 ListServerCertificatesResponse 对象的 marker 方法并使用标记创建一个新请求,则结果可能被截断。使用该新请求重新调用 listServerCertificates 以获取下一批结果。

导入

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;

代码

Region region = Region.AWS_GLOBAL; IamClient iam = IamClient.builder().region(region).build(); boolean done = false; String new_marker = null; while(!done) { ListServerCertificatesResponse response; if (new_marker == null) { ListServerCertificatesRequest request = ListServerCertificatesRequest.builder().build(); response = iam.listServerCertificates(request); } else { ListServerCertificatesRequest request = ListServerCertificatesRequest.builder() .marker(new_marker).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 { new_marker = response.marker(); } }

请参阅 GitHub 上的完整示例

更新服务器证书

您可以通过调用 IamClientupdateServerCertificate 方法更新服务器证书的名称或路径。这需要通过服务器证书的当前名称以及要使用的新名称或新路径来设置 UpdateServerCertificateRequest 对象。

导入

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

代码

Region region = Region.AWS_GLOBAL; IamClient iam = IamClient.builder().region(region).build(); UpdateServerCertificateRequest request = UpdateServerCertificateRequest.builder() .serverCertificateName(cur_name) .newServerCertificateName(new_name) .build(); UpdateServerCertificateResponse response = iam.updateServerCertificate(request);

请参阅 GitHub 上的完整示例

删除服务器证书

要删除服务器证书,请使用包含证书名称的 DeleteServerCertificateRequest 调用 IamClientdeleteServerCertificate 方法。

导入

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

代码

Region region = Region.AWS_GLOBAL; IamClient iam = IamClient.builder().region(region).build(); DeleteServerCertificateRequest request = DeleteServerCertificateRequest.builder() .serverCertificateName(cert_name).build(); DeleteServerCertificateResponse response = iam.deleteServerCertificate(request);

请参阅 GitHub 上的完整示例

更多信息