本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以下 Java 示例显示了如何使用该UpdateCertificateAuthority操作。
此操作可更新私有证书颁发机构 (CA) 的状态或配置。您的私有 CA 必须处于 ACTIVE
或 DISABLED
状态,您才能更新它。您可以禁用处于 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;
}
}
}