Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Das folgende Java-Beispiel zeigt, wie die IssueCertificateOperation verwendet wird.
Bei diesem Vorgang wird Ihre private Zertifizierungsstelle (CA) verwendet, um ein Endzertifizierungszertifikat auszustellen. Diese Operation gibt den Amazon-Ressourcennamen (ARN) des Zertifikats zurück. Sie können das Zertifikat abrufen, indem Sie den aufrufen GetCertificateund den ARN angeben.
Anmerkung
Für den IssueCertificateVorgang müssen Sie eine Zertifikatsvorlage angeben. In diesem Beispiel wird die EndEntityCertificate/V1
Vorlage verwendet. Informationen zu allen verfügbaren Vorlagen finden Sie unterVerwenden Sie Zertifikatsvorlagen AWS Private 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 java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
import com.amazonaws.services.acmpca.AWSACMPCA;
import com.amazonaws.services.acmpca.AWSACMPCAClientBuilder;
import com.amazonaws.services.acmpca.model.IssueCertificateRequest;
import com.amazonaws.services.acmpca.model.IssueCertificateResult;
import com.amazonaws.services.acmpca.model.SigningAlgorithm;
import com.amazonaws.services.acmpca.model.Validity;
import com.amazonaws.AmazonClientException;
import com.amazonaws.services.acmpca.model.LimitExceededException;
import com.amazonaws.services.acmpca.model.ResourceNotFoundException;
import com.amazonaws.services.acmpca.model.InvalidStateException;
import com.amazonaws.services.acmpca.model.InvalidArnException;
import com.amazonaws.services.acmpca.model.InvalidArgsException;
import com.amazonaws.services.acmpca.model.MalformedCSRException;
public class IssueCertificate {
public static ByteBuffer stringToByteBuffer(final String string) {
if (Objects.isNull(string)) {
return null;
}
byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
return ByteBuffer.wrap(bytes);
}
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 disk", 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 a certificate request:
IssueCertificateRequest req = new IssueCertificateRequest();
// Set the CA ARN.
req.withCertificateAuthorityArn("arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
");
// Specify the certificate signing request (CSR) for the certificate to be signed and issued.
String strCSR =
"-----BEGIN CERTIFICATE REQUEST-----\n
" +
"base64-encoded certificate\n
" +
"-----END CERTIFICATE REQUEST-----\n
";
ByteBuffer csrByteBuffer = stringToByteBuffer(strCSR);
req.setCsr(csrByteBuffer);
// Specify the template for the issued certificate.
req.withTemplateArn("arn:aws:acm-pca:::template/EndEntityCertificate/V1
");
// Set the signing algorithm.
req.withSigningAlgorithm(SigningAlgorithm.SHA256WITHRSA);
// Set the validity period for the certificate to be issued.
Validity validity = new Validity();
validity.withValue(<<3650L>>);
validity.withType("DAYS");
req.withValidity(validity);
// Set the idempotency token.
req.setIdempotencyToken("1234");
// Issue the certificate.
IssueCertificateResult result = null;
try {
result = client.issueCertificate(req);
} catch (LimitExceededException ex) {
throw ex;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (InvalidStateException ex) {
throw ex;
} catch (InvalidArnException ex) {
throw ex;
} catch (InvalidArgsException ex) {
throw ex;
} catch (MalformedCSRException ex) {
throw ex;
}
// Retrieve and display the certificate ARN.
String arn = result.getCertificateArn();
System.out.println(arn);
}
}
Die Ausgabe sollte in etwa wie folgt aussehen:
arn:aws:acm-pca:region
:account
:certificate-authority/CA_ID
/certificate/certificate_ID