Stellen Sie private Endentitätszertifikate aus - AWS Private Certificate Authority

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.

Stellen Sie private Endentitätszertifikate aus

Wenn eine private Zertifizierungsstelle eingerichtet ist, können Sie private Endzertifikate entweder von AWS Certificate Manager (ACM) oder anfordern. AWS Private CA Die Funktionen beider Dienste werden in der folgenden Tabelle verglichen.

Funktion

ACM

AWS Private CA

Stellen Sie Zertifikate für Endunternehmen aus

✓ (mit RequestCertificateoder der Konsole)

✓ (verwenden IssueCertificate)

Verbindung mit Load Balancern und mit dem Internet verbundenen Diensten AWS

Nicht unterstützt

Verwaltete Zertifikatserneuerung Indirekt durch ACM unterstützt

Konsolenunterstützung

Nicht unterstützt

API-Unterstützung

CLI-Unterstützung

Bei der AWS Private CA Erstellung eines Zertifikats folgt es einer Vorlage, die den Zertifikatstyp und die Pfadlänge angibt. Wenn der API- oder CLI-Anweisung, die das Zertifikat erstellt, kein Vorlagen-ARN zur Verfügung gestellt wird, wird standardmäßig die Vorlage EndEntityCertificate/V1 angewendet. Weitere Informationen zu verfügbaren Zertifikatvorlagen finden Sie unter Verwenden Sie Zertifikatsvorlagen AWS Private CA.

ACM-Zertifikate sind zwar auf öffentliches Vertrauen ausgelegt, erfüllen aber AWS Private CA die Anforderungen Ihrer privaten PKI. Folglich können Sie Zertifikate mithilfe der AWS Private CA API und CLI auf eine Weise konfigurieren, die von ACM nicht zugelassen wird. Diese umfassen u. a. folgende:

Nachdem Sie ein privates TLS-Zertifikat mit erstellt haben AWS Private CA, können Sie es in ACM importieren und mit einem unterstützten AWS Dienst verwenden.

Anmerkung

Zertifikate, die mit dem unten stehenden Verfahren, mit dem issue-certificate Befehl oder mit der IssueCertificateAPI-Aktion erstellt wurden, können nicht direkt zur Verwendung nach außen AWS exportiert werden. Sie können jedoch Ihre private Zertifizierungsstelle verwenden, um über ACM ausgestellte Zertifikate zu signieren, und diese Zertifikate können zusammen mit ihren geheimen Schlüsseln exportiert werden. Weitere Informationen finden Sie unter Anfordern eines privaten Zertifikats und Exportieren eines privaten Zertifikats im ACM-Benutzerhandbuch.

Stellen Sie ein Standardzertifikat aus ()AWS CLI

Sie können den AWS Private CA CLI-Befehl issue-certificate oder die API-Aktion verwenden, um ein Entity-Zertifikat IssueCertificateanzufordern. Dieser Befehl erfordert den Amazon-Ressourcennamen (ARN) der privaten CA, die Sie zum Ausstellen des Zertifikats verwenden möchten. Sie müssen auch eine Certificate Signing Request (CSR) mit einem Programm wie OpenSSL generieren.

Wenn Sie die AWS Private CA API verwenden oder AWS CLI ein privates Zertifikat ausstellen, wird das Zertifikat nicht verwaltet, was bedeutet, dass Sie es nicht mit der ACM-Konsole, der ACM-CLI oder der ACM-API anzeigen oder exportieren können, und das Zertifikat wird nicht automatisch erneuert. Sie können jedoch den PCA-Befehl get-certificate verwenden, um die Zertifikatsdetails abzurufen, und wenn Sie Eigentümer der Zertifizierungsstelle sind, können Sie einen Prüfbericht erstellen.

Überlegungen bei der Erstellung von Zertifikaten

  • Gemäß RFC 5280 darf die Länge des von Ihnen angegebenen Domainnamens (technisch gesehen der allgemeine Name) 64 Byte (Zeichen), einschließlich Punkte, nicht überschreiten. Wenn Sie einen längeren Domainnamen hinzufügen möchten, geben Sie ihn im Feld Alternativer Betreffname an, das Namen mit einer Länge von bis zu 253 Pfund unterstützt.

  • Wenn Sie AWS CLI Version 1.6.3 oder höher verwenden, verwenden Sie das Präfix fileb:// bei der Angabe von Base64-kodierten Eingabedateien wie. CSRs Dadurch wird sichergestellt, dass die Daten korrekt AWS Private CA analysiert werden.

Der folgende OpenSSL-Befehl generiert eine CSR und einen privaten Schlüssel für ein Zertifikat:

$ openssl req -out csr.pem -new -newkey rsa:2048 -nodes -keyout private-key.pem

Sie können den Inhalt der CSR wie folgt überprüfen:

$ openssl req -in csr.pem -text -noout

Die resultierende Ausgabe sollte dem folgenden abgekürzten Beispiel ähneln:

Certificate Request: Data: Version: 0 (0x0) Subject: C=US, O=Big Org, CN=example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:ca:85:f4:3a:b7:5f:e2:66:be:fc:d8:97:65:3d: a4:3d:30:c6:02:0a:9e:1c:ca:bb:15:63:ca:22:81: 00:e1:a9:c0:69:64:75:57:56:53:a1:99:ee:e1:cd: ... aa:38:73:ff:3d:b7:00:74:82:8e:4a:5d:da:5f:79: 5a:89:52:e7:de:68:95:e0:16:9b:47:2d:57:49:2d: 9b:41:53:e2:7f:e1:bd:95:bf:eb:b3:a3:72:d6:a4: d3:63 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption 74:18:26:72:33:be:ef:ae:1d:1e:ff:15:e5:28:db:c1:e0:80: 42:2c:82:5a:34:aa:1a:70:df:fa:4f:19:e2:5a:0e:33:38:af: 21:aa:14:b4:85:35:9c:dd:73:98:1c:b7:ce:f3:ff:43:aa:11: .... 3c:b2:62:94:ad:94:11:55:c2:43:e0:5f:3b:39:d3:a6:4b:47: 09:6b:9d:6b:9b:95:15:10:25:be:8b:5c:cc:f1:ff:7b:26:6b: fa:81:df:e4:92:e5:3c:e5:7f:0e:d8:d9:6f:c5:a6:67:fb:2b: 0b:53:e5:22

Mit dem folgenden Befehl wird ein Zertifikat erstellt. Da keine Vorlage angegeben ist, wird standardmäßig ein Basiszertifikat für die Endeinheit ausgestellt.

$ aws acm-pca issue-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --csr fileb://csr.pem \ --signing-algorithm "SHA256WITHRSA" \ --validity Value=365,Type="DAYS"

Der ARN des ausgestellten Zertifikats wird zurückgegeben:

{ "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID" }
Anmerkung

AWS Private CA gibt sofort einen ARN mit einer Seriennummer zurück, wenn es den issue-certificate Befehl empfängt. Die Zertifikatsverarbeitung erfolgt jedoch asynchron und kann immer noch fehlschlagen. In diesem Fall schlägt auch ein get-certificate Befehl fehl, der den neuen ARN verwendet.

Stellen Sie mithilfe einer APIPassthrough Vorlage ein Zertifikat mit einem benutzerdefinierten Betreffnamen aus

In diesem Beispiel wird ein Zertifikat ausgestellt, das benutzerdefinierte Elemente des Antragstellernamens enthält. Zusätzlich zur Angabe einer CSR wie der in Stellen Sie ein Standardzertifikat aus ()AWS CLI übergeben Sie dem issue-certificate Befehl zwei zusätzliche Argumente: den ARN einer APIPassthrough Vorlage und eine JSON-Konfigurationsdatei, die die benutzerdefinierten Attribute und ihre Objektkennungen () OIDs spezifiziert. Sie können es nicht zusammen mit verwenden StandardAttributesCustomAttributes. Sie können jedoch Standard OIDs als Teil von übergeben. CustomAttributes Die standardmäßigen Betreffnamen OIDs sind in der folgenden Tabelle aufgeführt (Informationen aus RFC 4519 und der globalen OID-Referenzdatenbank):

Name des Betreffs

Abkürzung

Objekt-ID

countryName

c

2.5.4.6

commonName

cn

2.5.4.3

DNQualifier [definierter Namenskennzeichner]

2.5.4.46

Qualifikator für die Generierung

2.5.4.44

givenName

2.5.4.42

Initialen

2.5.4.43

Lokalität

l

2.5.4.7

Name der Organisation

o

2.5.4.10

organizationalUnitName

ou

2.5.4.11

Pseudonym

2.5.4.65

Seriennummer

2.5.4.5

st [Bundesstaat]

2.5.4.8

Nachname

sn

2.5.4.4

Titel

2.5.4.12

Domänenkomponente

dc

0.9.2342.19200300.100.1.25

userid

0,9,2342,19200300.100.1.1

Die Beispielkonfigurationsdatei enthält den folgenden Code: api_passthrough_config.txt

{ "Subject": { "CustomAttributes": [ { "ObjectIdentifier": "2.5.4.6", "Value": "US" }, { "ObjectIdentifier": "1.3.6.1.4.1.37244.1.1", "Value": "BCDABCDA12341234" }, { "ObjectIdentifier": "1.3.6.1.4.1.37244.1.5", "Value": "CDABCDAB12341234" } ] } }

Verwenden Sie den folgenden Befehl, um das Zertifikat auszustellen:

$ aws acm-pca issue-certificate \ --validity Type=DAYS,Value=10 --signing-algorithm "SHA256WITHRSA" \ --csr fileb://csr.pem \ --api-passthrough file://api_passthrough_config.txt \ --template-arn arn:aws:acm-pca:::template/BlankEndEntityCertificate_APIPassthrough/V1 \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566

Der ARN des ausgestellten Zertifikats wird zurückgegeben:

{ "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID" }

Rufen Sie das Zertifikat lokal wie folgt ab:

$ aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --certificate-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID | \ jq -r .'Certificate' > cert.pem

Sie können den Inhalt des Zertifikats mit OpenSSL überprüfen:

$ openssl x509 -in cert.pem -text -noout
Anmerkung

Es ist auch möglich, eine private Zertifizierungsstelle zu erstellen, die benutzerdefinierte Attribute an jedes ausgestellte Zertifikat weitergibt.

Stellen Sie mithilfe einer APIPassthrough Vorlage ein Zertifikat mit benutzerdefinierten Erweiterungen aus

In diesem Beispiel wird ein Zertifikat ausgestellt, das benutzerdefinierte Erweiterungen enthält. Dazu müssen Sie dem issue-certificate Befehl drei Argumente übergeben: den ARN einer APIPassthrough Vorlage und eine JSON-Konfigurationsdatei, die die benutzerdefinierten Erweiterungen spezifiziert, und eine CSR wie die in Stellen Sie ein Standardzertifikat aus ()AWS CLI gezeigte.

Die Beispielkonfigurationsdatei api_passthrough_config.txt enthält den folgenden Code:

{ "Extensions": { "CustomExtensions": [ { "ObjectIdentifier": "2.5.29.30", "Value": "MBWgEzARgg8ucGVybWl0dGVkLnRlc3Q=", "Critical": true } ] } }

Das benutzerdefinierte Zertifikat wird wie folgt ausgestellt:

$ aws acm-pca issue-certificate \ --validity Type=DAYS,Value=10 --signing-algorithm "SHA256WITHRSA" \ --csr fileb://csr.pem \ --api-passthrough file://api_passthrough_config.txt \ --template-arn arn:aws:acm-pca:::template/EndEntityCertificate_APIPassthrough/V1 \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566

Der ARN des ausgestellten Zertifikats wird zurückgegeben:

{ "CertificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID" }

Rufen Sie das Zertifikat lokal wie folgt ab:

$ aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --certificate-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID | \ jq -r .'Certificate' > cert.pem

Sie können den Inhalt des Zertifikats mit OpenSSL überprüfen:

$ openssl x509 -in cert.pem -text -noout