@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AWSACMPCAClient extends AmazonWebServiceClient implements AWSACMPCA
You can use the ACM PCA API to create a private certificate authority (CA). You must first call the CreateCertificateAuthority function. If successful, the function returns an Amazon Resource Name (ARN) for your private CA. Use this ARN as input to the GetCertificateAuthorityCsr function to retrieve the certificate signing request (CSR) for your private CA certificate. Sign the CSR using the root or an intermediate CA in your on-premises PKI hierarchy, and call the ImportCertificateAuthorityCertificate to import your signed private CA certificate into ACM PCA.
Use your private CA to issue and revoke certificates. These are private certificates that identify and secure client computers, servers, applications, services, devices, and users over SSLS/TLS connections within your organization. Call the IssueCertificate function to issue a certificate. Call the RevokeCertificate function to revoke a certificate.
Certificates issued by your private CA can be trusted only within your organization, not publicly.
Your private CA can optionally create a certificate revocation list (CRL) to track the certificates you revoke. To create a CRL, you must specify a RevocationConfiguration object when you call the CreateCertificateAuthority function. ACM PCA writes the CRL to an S3 bucket that you specify. You must specify a bucket policy that grants ACM PCA write permission.
You can also call the CreateCertificateAuthorityAuditReport to create an optional audit report that lists every time the CA private key is used. The private key is used for signing when the IssueCertificate or RevokeCertificate function is called.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
addRequestHandler, addRequestHandler, configureRegion, getEndpointPrefix, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shutdown, withEndpoint, withRegion, withRegion, withTimeOffset
public static AWSACMPCAClientBuilder builder()
public CreateCertificateAuthorityResult createCertificateAuthority(CreateCertificateAuthorityRequest request)
Creates a private subordinate certificate authority (CA). You must specify the CA configuration, the revocation configuration, the CA type, and an optional idempotency token. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses to sign, and X.500 subject information. The CRL (certificate revocation list) configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this function returns the Amazon Resource Name (ARN) of the CA.
createCertificateAuthority
in interface AWSACMPCA
createCertificateAuthorityRequest
- InvalidArgsException
- One or more of the specified arguments was not valid.InvalidPolicyException
- The S3 bucket policy is not valid. The policy must give ACM PCA rights to read from and write to the
bucket and find the bucket location.LimitExceededException
- An ACM PCA limit has been exceeded. See the exception message returned to determine the limit that was
exceeded.public CreateCertificateAuthorityAuditReportResult createCertificateAuthorityAuditReport(CreateCertificateAuthorityAuditReportRequest request)
Creates an audit report that lists every time that the your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate functions use the private key. You can generate a new report every 30 minutes.
createCertificateAuthorityAuditReport
in interface AWSACMPCA
createCertificateAuthorityAuditReportRequest
- RequestInProgressException
- Your request is already in progress.RequestFailedException
- The request has failed for an unspecified reason.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidArgsException
- One or more of the specified arguments was not valid.InvalidStateException
- The private CA is in a state during which a report cannot be generated.public DeleteCertificateAuthorityResult deleteCertificateAuthority(DeleteCertificateAuthorityRequest request)
Deletes the private certificate authority (CA) that you created or started to create by calling the
CreateCertificateAuthority function. This action requires that you enter an ARN (Amazon Resource Name) for
the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities
function. You can delete the CA if you are waiting for it to be created (the Status field of the
CertificateAuthority is CREATING
) or if the CA has been created but you haven't yet imported
the signed certificate (the Status is PENDING_CERTIFICATE
) into ACM PCA. If you've already
imported the certificate, you cannot delete the CA unless it has been disabled for more than 30 days. To disable
a CA, call the UpdateCertificateAuthority function and set the CertificateAuthorityStatus argument
to DISABLED
.
deleteCertificateAuthority
in interface AWSACMPCA
deleteCertificateAuthorityRequest
- ConcurrentModificationException
- A previous update to your private CA is still ongoing.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidStateException
- The private CA is in a state during which a report cannot be generated.public DescribeCertificateAuthorityResult describeCertificateAuthority(DescribeCertificateAuthorityRequest request)
Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:
CREATING: ACM PCA is creating your private certificate authority.
PENDING_CERTIFICATE: The certificate is pending. You must use your on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.
ACTIVE: Your private CA is active.
DISABLED: Your private CA has been disabled.
EXPIRED: Your private CA certificate has expired.
FAILED: Your private CA has failed. Your CA can fail for problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.
describeCertificateAuthority
in interface AWSACMPCA
describeCertificateAuthorityRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.public DescribeCertificateAuthorityAuditReportResult describeCertificateAuthorityAuditReport(DescribeCertificateAuthorityAuditReportRequest request)
Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport function. Audit information is created every time the certificate authority (CA) private key is used. The private key is used when you call the IssueCertificate function or the RevokeCertificate function.
describeCertificateAuthorityAuditReport
in interface AWSACMPCA
describeCertificateAuthorityAuditReportRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArgsException
- One or more of the specified arguments was not valid.public GetCertificateResult getCertificate(GetCertificateRequest request)
Retrieves a certificate from your private CA. The ARN of the certificate is returned when you call the IssueCertificate function. You must specify both the ARN of your private CA and the ARN of the issued certificate when calling the GetCertificate function. You can retrieve the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport function to create a report that contains information about all of the certificates issued and revoked by your private CA.
getCertificate
in interface AWSACMPCA
getCertificateRequest
- RequestInProgressException
- Your request is already in progress.RequestFailedException
- The request has failed for an unspecified reason.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidStateException
- The private CA is in a state during which a report cannot be generated.public GetCertificateAuthorityCertificateResult getCertificateAuthorityCertificate(GetCertificateAuthorityCertificateRequest request)
Retrieves the certificate and certificate chain for your private certificate authority (CA). Both the certificate and the chain are base64 PEM-encoded. The chain does not include the CA certificate. Each certificate in the chain signs the one before it.
getCertificateAuthorityCertificate
in interface AWSACMPCA
getCertificateAuthorityCertificateRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidStateException
- The private CA is in a state during which a report cannot be generated.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.public GetCertificateAuthorityCsrResult getCertificateAuthorityCsr(GetCertificateAuthorityCsrRequest request)
Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority function. Take the CSR to your on-premises X.509 infrastructure and sign it by using your root or a subordinate CA. Then import the signed certificate back into ACM PCA by calling the ImportCertificateAuthorityCertificate function. The CSR is returned as a base64 PEM-encoded string.
getCertificateAuthorityCsr
in interface AWSACMPCA
getCertificateAuthorityCsrRequest
- RequestInProgressException
- Your request is already in progress.RequestFailedException
- The request has failed for an unspecified reason.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.public ImportCertificateAuthorityCertificateResult importCertificateAuthorityCertificate(ImportCertificateAuthorityCertificateRequest request)
Imports your signed private CA certificate into ACM PCA. Before you can call this function, you must create the private certificate authority by calling the CreateCertificateAuthority function. You must then generate a certificate signing request (CSR) by calling the GetCertificateAuthorityCsr function. Take the CSR to your on-premises CA and use the root certificate or a subordinate certificate to sign it. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.
Your certificate chain must not include the private CA certificate that you are importing.
Your on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.
The chain must be PEM-encoded.
importCertificateAuthorityCertificate
in interface AWSACMPCA
importCertificateAuthorityCertificateRequest
- ConcurrentModificationException
- A previous update to your private CA is still ongoing.RequestInProgressException
- Your request is already in progress.RequestFailedException
- The request has failed for an unspecified reason.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.MalformedCertificateException
- One or more fields in the certificate are invalid.CertificateMismatchException
- The certificate authority certificate you are importing does not comply with conditions specified in the
certificate that signed it.public IssueCertificateResult issueCertificate(IssueCertificateRequest request)
Uses your private certificate authority (CA) to issue a client certificate. This function returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate function and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities function to retrieve the ARNs of the certificates that you issue by using ACM PCA.
issueCertificate
in interface AWSACMPCA
issueCertificateRequest
- LimitExceededException
- An ACM PCA limit has been exceeded. See the exception message returned to determine the limit that was
exceeded.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidStateException
- The private CA is in a state during which a report cannot be generated.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidArgsException
- One or more of the specified arguments was not valid.MalformedCSRException
- The certificate signing request is invalid.public ListCertificateAuthoritiesResult listCertificateAuthorities(ListCertificateAuthoritiesRequest request)
Lists the private certificate authorities that you created by using the CreateCertificateAuthority function.
listCertificateAuthorities
in interface AWSACMPCA
listCertificateAuthoritiesRequest
- InvalidNextTokenException
- The token specified in the NextToken
argument is not valid. Use the token returned from your
previous call to ListCertificateAuthorities.public ListTagsResult listTags(ListTagsRequest request)
Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority function to add one or more tags to your CA. Call the UntagCertificateAuthority function to remove tags.
listTags
in interface AWSACMPCA
listTagsRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.public RevokeCertificateResult revokeCertificate(RevokeCertificateRequest request)
Revokes a certificate that you issued by calling the IssueCertificate function. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM PCA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM PCA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.
revokeCertificate
in interface AWSACMPCA
revokeCertificateRequest
- ConcurrentModificationException
- A previous update to your private CA is still ongoing.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidStateException
- The private CA is in a state during which a report cannot be generated.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.RequestAlreadyProcessedException
- Your request has already been completed.RequestInProgressException
- Your request is already in progress.RequestFailedException
- The request has failed for an unspecified reason.public TagCertificateAuthorityResult tagCertificateAuthority(TagCertificateAuthorityRequest request)
Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority function. Call the ListTags function to see what tags are associated with your CA.
tagCertificateAuthority
in interface AWSACMPCA
tagCertificateAuthorityRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidTagException
- The tag associated with the CA is not valid. The invalid argument is contained in the message field.TooManyTagsException
- You can associate up to 50 tags with a private CA. Exception information is contained in the exception
message field.public UntagCertificateAuthorityResult untagCertificateAuthority(UntagCertificateAuthorityRequest request)
Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags function to see what tags are associated with your CA.
untagCertificateAuthority
in interface AWSACMPCA
untagCertificateAuthorityRequest
- ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidTagException
- The tag associated with the CA is not valid. The invalid argument is contained in the message field.public UpdateCertificateAuthorityResult updateCertificateAuthority(UpdateCertificateAuthorityRequest request)
Updates the status or configuration of a private certificate authority (CA). Your private CA must be in the
ACTIVE
or DISABLED
state before you can update it. You can disable a
private CA that is in the ACTIVE
state or make a CA that is in the
DISABLED
state active again.
updateCertificateAuthority
in interface AWSACMPCA
updateCertificateAuthorityRequest
- ConcurrentModificationException
- A previous update to your private CA is still ongoing.ResourceNotFoundException
- A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.InvalidArgsException
- One or more of the specified arguments was not valid.InvalidArnException
- The requested Amazon Resource Name (ARN) does not refer to an existing resource.InvalidStateException
- The private CA is in a state during which a report cannot be generated.InvalidPolicyException
- The S3 bucket policy is not valid. The policy must give ACM PCA rights to read from and write to the
bucket and find the bucket location.public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata
in interface AWSACMPCA
request
- The originally executed requestCopyright © 2013 Amazon Web Services, Inc. All Rights Reserved.