使用IAM服务器证书 - Amazon SDK for Java
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

现在,您可以使用Amazon S3转移经理(开发人员预览版)中的Amazon SDK for Java2.x 用于加速文件传输。试试一下然后告诉我们您的想法!顺便说一句,Amazon SDK for Java正在招聘团队软件开发工程师

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用IAM服务器证书

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

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

获取服务器证书

您可以通过调用 iAMClient 的检索服务器证书getServerCertificate方法,传递一个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; 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 上的完整示例

列出服务器证书

要列出您的服务器证书,请调用 iAMClient 的listServerCertificates方法包含ListServerCertificatesRequest. 该方法返回 ListServerCertificatesResponse

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

如果 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 上的完整示例

更新服务器证书

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

导入

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 上的完整示例

删除服务器证书

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

导入

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 上的完整示例

更多信息