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:
-
Erstellen eines Zertifikats mit einem beliebigen Betreffnamen.
-
Verwenden Sie einen der unterstützten Algorithmen und Schlüssellängen für private Schlüssel.
-
Verwendung eines der unterstützten Signaturalgorithmen.
-
Geben Sie einen beliebigen Gültigkeitszeitraum für Ihre private CA und Ihre privaten Zertifikate an.
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
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 -keyoutprivate-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 StandardAttributes
CustomAttributes
. 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
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