As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O exemplo de Java a seguir mostra como usar a CreateCerticateAuthorityoperação.
A operação cria uma autoridade de certificação subordinada privada (CA). Você deve especificar a configuração da CA, a configuração de revogação, o tipo de CA e um token de idempotência opcional.
A configuração da CA especifica:
-
O nome do algoritmo e o tamanho da chave a serem usados para criar a chave privada da CA
-
O tipo de algoritmo de assinatura que a CA usa para assinar
-
Informações do assunto X.500
A configuração da CRL especifica:
-
O período de expiração da CRL em dias (o período de validade da CRL)
-
O bucket do Amazon S3 que conterá a CRL
-
Um alias CNAME para o bucket do S3 que é incluído em certificados emitidos pela CA
Se for bem-sucedida, a função retornará o nome de recurso da Amazon (ARN) da 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.ASN1Subject;
import com.amazonaws.services.acmpca.model.CertificateAuthorityConfiguration;
import com.amazonaws.services.acmpca.model.CertificateAuthorityType;
import com.amazonaws.services.acmpca.model.CreateCertificateAuthorityResult;
import com.amazonaws.services.acmpca.model.CreateCertificateAuthorityRequest;
import com.amazonaws.services.acmpca.model.CrlConfiguration;
import com.amazonaws.services.acmpca.model.KeyAlgorithm;
import com.amazonaws.services.acmpca.model.SigningAlgorithm;
import com.amazonaws.services.acmpca.model.Tag;
import java.util.ArrayList;
import java.util.Objects;
import com.amazonaws.AmazonClientException;
import com.amazonaws.services.acmpca.model.LimitExceededException;
import com.amazonaws.services.acmpca.model.InvalidArgsException;
import com.amazonaws.services.acmpca.model.InvalidPolicyException;
import com.amazonaws.services.acmpca.model.RevocationConfiguration;
public class CreateCertificateAuthority {
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 the credentials from the credential profiles file. " +
"Please make sure that your credentials file is at the correct " +
"location (C:\\Users\\joneps\\.aws\\credentials), and is in valid format.",
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();
// Define a CA subject.
ASN1Subject subject = new ASN1Subject();
subject.setOrganization("Example Organization
");
subject.setOrganizationalUnit("Example
");
subject.setCountry("US
");
subject.setState("Virginia
");
subject.setLocality("Arlington
");
subject.setCommonName("www.example.com
");
// Define the CA configuration.
CertificateAuthorityConfiguration configCA = new CertificateAuthorityConfiguration();
configCA.withKeyAlgorithm(KeyAlgorithm.RSA_2048);
configCA.withSigningAlgorithm(SigningAlgorithm.SHA256WITHRSA);
configCA.withSubject(subject);
// Define a certificate revocation list configuration.
CrlConfiguration crlConfigure = new CrlConfiguration();
crlConfigure.withEnabled(true);
crlConfigure.withExpirationInDays(365);
crlConfigure.withCustomCname(null);
crlConfigure.withS3BucketName("your-bucket-name
");
RevocationConfiguration revokeConfig = new RevocationConfiguration();
revokeConfig.setCrlConfiguration(crlConfigure);
// Define a certificate authority type: ROOT or SUBORDINATE
CertificateAuthorityType CAtype = CertificateAuthorityType.<<SUBORDINATE>>;
// Create a tag - method 1
Tag tag1 = new Tag();
tag1.withKey("PrivateCA
");
tag1.withValue("Sample
");
// Create a tag - method 2
Tag tag2 = new Tag()
.withKey("Purpose
")
.withValue("WebServices
");
// Add the tags to a collection.
ArrayList<Tag> tags = new ArrayList<Tag>();
tags.add(tag1);
tags.add(tag2);
// Create the request object.
CreateCertificateAuthorityRequest req = new CreateCertificateAuthorityRequest();
req.withCertificateAuthorityConfiguration(configCA);
req.withRevocationConfiguration(revokeConfig);
req.withIdempotencyToken("123987");
req.withCertificateAuthorityType(CAtype);
req.withTags(tags);
// Create the private CA.
CreateCertificateAuthorityResult result = null;
try {
result = client.createCertificateAuthority(req);
} catch (InvalidArgsException ex) {
throw ex;
} catch (InvalidPolicyException ex) {
throw ex;
} catch (LimitExceededException ex) {
throw ex;
}
// Retrieve the ARN of the private CA.
String arn = result.getCertificateAuthorityArn();
System.out.println(arn);
}
}
Sua saída deve ser similar à seguinte:
arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566