现在,您可以使用Amazon S3转移经理(开发人员预览版)
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用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 上的完整示例
更多信息
-
使用服务器证书中的IAM用户指南
-
GetServerCertificate中的IAMAPI 参考
-
ListServerCertificates中的IAMAPI 参考
-
UpdateServerCertificate中的IAMAPI 参考
-
DeleteServerCertificate中的IAMAPI 参考