UpdateCertificateAuthority - AWS Private Certificate Authority

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

UpdateCertificateAuthority

以下 Java 示例显示了如何使用该UpdateCertificateAuthority操作。

此操作可更新私有证书颁发机构 (CA) 的状态或配置。您的私有 CA 必须处于 ACTIVEDISABLED 状态,您才能更新它。您可以禁用处于 ACTIVE 状态的私有 CA,或使处于 DISABLED 状态的 CA 再次变为活动的。

package com.amazonaws.samples; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.services.acmpca.AWSACMPCA; import com.amazonaws.services.acmpca.AWSACMPCAClientBuilder; import com.amazonaws.services.acmpca.model.UpdateCertificateAuthorityRequest; import com.amazonaws.services.acmpca.model.CertificateAuthorityStatus; import com.amazonaws.AmazonClientException; import com.amazonaws.services.acmpca.model.ConcurrentModificationException; import com.amazonaws.services.acmpca.model.ResourceNotFoundException; import com.amazonaws.services.acmpca.model.InvalidArgsException; import com.amazonaws.services.acmpca.model.InvalidArnException; import com.amazonaws.services.acmpca.model.InvalidStateException; import com.amazonaws.services.acmpca.model.InvalidPolicyException; import com.amazonaws.services.acmpca.model.CrlConfiguration; import com.amazonaws.services.acmpca.model.RevocationConfiguration; public class UpdateCertificateAuthority { public static void main(String[] args) throws Exception { // Retrieve your credentials from the C:\Users\name\.aws\credentials file // in Windows or the .aws/credentials file in Linux. AWSCredentials credentials = null; try { credentials = new ProfileCredentialsProvider("default").getCredentials(); } catch (Exception e) { throw new AmazonClientException("Cannot load your credentials from file.", e); } // Define the endpoint for your sample. String endpointRegion = "region"; // Substitute your region here, e.g. "us-west-2" String endpointProtocol = "https://acm-pca." + endpointRegion + ".amazonaws.com/"; EndpointConfiguration endpoint = new AwsClientBuilder.EndpointConfiguration(endpointProtocol, endpointRegion); // Create a client that you can use to make requests. AWSACMPCA client = AWSACMPCAClientBuilder.standard() .withEndpointConfiguration(endpoint) .withCredentials(new AWSStaticCredentialsProvider(credentials)) .build(); // Create the request object. UpdateCertificateAuthorityRequest req = new UpdateCertificateAuthorityRequest(); // Set the ARN of the private CA that you want to update. req.setCertificateAuthorityArn("arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566"); // Define the certificate revocation list configuration. If you do not want to // update the CRL configuration, leave the CrlConfiguration structure alone and // do not set it on your UpdateCertificateAuthorityRequest object. CrlConfiguration crlConfigure = new CrlConfiguration(); crlConfigure.withEnabled(true); crlConfigure.withExpirationInDays(365); crlConfigure.withCustomCname("your-custom-name"); crlConfigure.withS3BucketName("your-bucket-name"); // Set the CRL configuration onto your UpdateCertificateAuthorityRequest object. // If you do not want to change your CRL configuration, do not use the // setCrlConfiguration method. RevocationConfiguration revokeConfig = new RevocationConfiguration(); revokeConfig.setCrlConfiguration(crlConfigure); req.setRevocationConfiguration(revokeConfig); // Set the status. req.withStatus(CertificateAuthorityStatus.<<ACTIVE>>); // Create the result object. try { client.updateCertificateAuthority(req); } catch (ConcurrentModificationException ex) { throw ex; } catch (ResourceNotFoundException ex) { throw ex; } catch (InvalidArgsException ex) { throw ex; } catch (InvalidArnException ex) { throw ex; } catch (InvalidStateException ex) { throw ex; } catch (InvalidPolicyException ex) { throw ex; } } }