自2024年7月31日起, AWS SDK for Java 1.x已进入维护模式,并将于2025年12月31日end-of-support
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 IAM 服务器证书
要在 AWS 上启用网站或应用程序的 HTTPS 连接,需要 SSL/TLS 服务器证书。您可以使用 AWS Certificate Manager 提供的服务器证书或您从外部提供程序获得的服务器证书。
我们建议您使用 ACM 来预置、管理和部署您的服务器证书。利用 ACM,您可以申请证书,将其部署到 AWS 资源,然后让 ACM 为您处理证书续订事宜。ACM 提供的证书是免费的。有关 ACM 的更多信息,请参阅 ACM 用户指南。
获取服务器证书
您可以通过调用 AmazonIdentityManagementClient 的 getServerCertificate
方法检索服务器证书,将包含证书名称的 GetServerCertificateRequest 传递给它。
导入
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.GetServerCertificateRequest; import com.amazonaws.services.identitymanagement.model.GetServerCertificateResult;
代码
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); GetServerCertificateRequest request = new GetServerCertificateRequest() .withServerCertificateName(cert_name); GetServerCertificateResult response = iam.getServerCertificate(request);
请参阅 GitHub 上的完整示例
列出服务器证书
要列出您的服务器证书,请使用 ListServerCertificatesRequest 调用 AmazonIdentityManagementClient 的 listServerCertificates
方法。它返回 ListServerCertificatesResult。
调用返回的 ListServerCertificateResult
对象的 getServerCertificateMetadataList
方法获取 ServerCertificateMetadata 对象的列表,您可以用它来获取关于每个证书的信息。
如果 ListServerCertificateResult
对象的 getIsTruncated
方法返回 true
,调用 ListServerCertificatesRequest
对象的 setMarker
方法并使用其再次调用 listServerCertificates
来获取下一批结果,则结果可能被截断。
导入
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.ListServerCertificatesRequest; import com.amazonaws.services.identitymanagement.model.ListServerCertificatesResult; import com.amazonaws.services.identitymanagement.model.ServerCertificateMetadata;
代码
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); boolean done = false; ListServerCertificatesRequest request = new ListServerCertificatesRequest(); while(!done) { ListServerCertificatesResult response = iam.listServerCertificates(request); for(ServerCertificateMetadata metadata : response.getServerCertificateMetadataList()) { System.out.printf("Retrieved server certificate %s", metadata.getServerCertificateName()); } request.setMarker(response.getMarker()); if(!response.getIsTruncated()) { done = true; } }
请参阅 GitHub 上的完整示例
更新服务器证书
您可以通过调用 AmazonIdentityManagementClient 的 updateServerCertificate
方法更新服务器证书的名称或路径。这需要通过服务器证书的当前名称以及要使用的新名称或新路径来设置 UpdateServerCertificateRequest 对象。
导入
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.UpdateServerCertificateRequest; import com.amazonaws.services.identitymanagement.model.UpdateServerCertificateResult;
代码
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); UpdateServerCertificateRequest request = new UpdateServerCertificateRequest() .withServerCertificateName(cur_name) .withNewServerCertificateName(new_name); UpdateServerCertificateResult response = iam.updateServerCertificate(request);
请参阅 GitHub 上的完整示例
删除服务器证书
要删除服务器证书,请使用包含证书名称的 DeleteServerCertificateRequest 调用 AmazonIdentityManagementClient 的 deleteServerCertificate
方法。
导入
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.DeleteServerCertificateRequest; import com.amazonaws.services.identitymanagement.model.DeleteServerCertificateResult;
代码
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); DeleteServerCertificateRequest request = new DeleteServerCertificateRequest() .withServerCertificateName(cert_name); DeleteServerCertificateResult response = iam.deleteServerCertificate(request);
请参阅 GitHub 上的完整示例
更多信息
-
《IAM 用户指南》中的使用服务器证书
-
《IAM API Reference》中的 GetServerCertificate
-
《IAM API Reference》中的 ListServerCertificates
-
《IAM API Reference》中的 UpdateServerCertificate
-
《IAM API Reference》中的 DeleteServerCertificate