Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Con una CA privata, puoi richiedere certificati privati di entità finale a AWS Certificate Manager (ACM) o. CA privata AWS Le funzionalità di entrambi i servizi vengono confrontate nella tabella seguente.
Funzionalità |
ACM |
CA privata AWS |
---|---|---|
Emetti certificati per l'entità finale |
✓ (utilizzando RequestCertificateo la console) |
✓ (utilizzando IssueCertificate) |
Associazione con sistemi di bilanciamento del carico e servizi connessi a Internet AWS |
✓ |
Non supportato |
Rinnovo gestito dei certificati | ✓ | Supportato indirettamente tramite ACM |
Supporto della console |
✓ |
Non supportato |
Supporto API |
✓ |
✓ |
Supporto per CLI |
✓ |
✓ |
Quando CA privata AWS crea un certificato, segue un modello che specifica il tipo di certificato e la lunghezza del percorso. Se non viene fornito alcun ARN del modello all'API o all'istruzione CLI che crea il certificato, per impostazione predefinita viene applicato il modello EndEntityCertificate/V1. Per ulteriori informazioni sui modelli di certificato disponibili, consulta Utilizza modelli di certificato AWS Private CA.
Sebbene i certificati ACM siano progettati sulla base della fiducia pubblica, soddisfano le esigenze della CA privata AWS tua PKI privata. Di conseguenza, puoi configurare i certificati utilizzando l' CA privata AWS API e la CLI in modi non consentiti da ACM. Questi sono i seguenti:
-
Creazione di un certificato con qualsiasi nome del soggetto.
-
Utilizzando uno qualsiasi degli algoritmi di chiave privata e delle lunghezze di chiave supportati.
-
Utilizzando uno qualsiasi degli algoritmi di firma supportati.
-
Specificando un periodo di validità per la CA privata e i certificati privati.
Dopo aver creato un certificato TLS privato utilizzando CA privata AWS, puoi importarlo in ACM e utilizzarlo con un servizio supportato. AWS
Nota
I certificati creati con la procedura seguente, utilizzando il issue-certificate comando o con l'azione IssueCertificateAPI, non possono essere esportati direttamente per essere utilizzati all'esterno. AWS Tuttavia, puoi utilizzare la tua CA privata per firmare i certificati emessi tramite ACM e tali certificati possono essere esportati insieme alle relative chiavi segrete. Per ulteriori informazioni, consulta Richiesta di un certificato privato ed Esportazione di un certificato privato nella Guida per l'utente ACM.
Emetti un certificato standard ()AWS CLI
Puoi utilizzare il comando CA privata AWS CLI issue-certificate o l'azione API IssueCertificateper richiedere un certificato di entità finale. Questo comando richiede l'Amazon Resource Name (ARN) della CA privata che si desidera utilizzare per emettere il certificato. È inoltre necessario generare una richiesta di firma del certificato (CSR) utilizzando un programma come OpenSSL
Se utilizzi l' CA privata AWS API o AWS CLI emetti un certificato privato, il certificato non è gestito, il che significa che non puoi utilizzare la console ACM, l'ACM CLI o l'API ACM per visualizzarlo o esportarlo e il certificato non viene rinnovato automaticamente. Tuttavia, puoi utilizzare il comando PCA get-certificate per recuperare i dettagli del certificato e, se possiedi la CA, puoi creare un rapporto di controllo.
Considerazioni sulla creazione di certificati
In conformità con RFC 5280
, la lunghezza del nome di dominio (tecnicamente, il nome comune) fornito non può superare i 64 ottetti (caratteri), compresi i punti. Per aggiungere un nome di dominio più lungo, specificalo nel campo Nome alternativo del soggetto, che supporta nomi di lunghezza massima di 253 ottetti. -
Se utilizzate la AWS CLI versione 1.6.3 o successiva, utilizzate il prefisso
fileb://
quando specificate file di input con codifica Base64 come. CSRs Ciò garantisce che i dati vengano CA privata AWS analizzati correttamente.
Il seguente comando OpenSSL genera una CSR e una chiave privata per un certificato:
$
openssl req -out
csr.pem
-new -newkey rsa:2048
-nodes -keyoutprivate-key.pem
È possibile esaminare il contenuto della CSR nel modo seguente:
$
openssl req -in csr.pem
-text -noout
L'output risultante dovrebbe essere simile al seguente esempio abbreviato:
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
Il comando seguente crea un certificato. Poiché non viene specificato alcun modello, per impostazione predefinita viene emesso un certificato di entità finale di base.
$
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
"
L'ARN del certificato emesso viene restituito:
{
"CertificateArn":"arn:aws:acm-pca:region
:account
:certificate-authority/CA_ID
/certificate/certificate_ID
"
}
Nota
CA privata AWS restituisce immediatamente un ARN con un numero di serie quando riceve il issue-certificate comando. Tuttavia, l'elaborazione dei certificati avviene in modo asincrono e può comunque fallire. In tal caso, anche un get-certificate comando che utilizza il nuovo ARN avrà esito negativo.
Emetti un certificato con un nome oggetto personalizzato utilizzando un modello APIPassthrough
In questo esempio, viene emesso un certificato contenente elementi personalizzati del nome del soggetto. Oltre a fornire un CSR come quello in dotazioneEmetti un certificato standard ()AWS CLI, passate due argomenti aggiuntivi al issue-certificate comando: l'ARN di un APIPassthrough modello e un file di configurazione JSON che specifica gli attributi personalizzati e i relativi identificatori di oggetto (). OIDs Non è possibile utilizzare insieme StandardAttributes
aCustomAttributes
. Tuttavia, è possibile passare standard come parte di. OIDs CustomAttributes
Il nome OIDs del soggetto predefinito è elencato nella tabella seguente (informazioni tratte da RFC 4519
Nome del soggetto |
Abbreviazione |
ID dell'oggetto |
---|---|---|
countryName |
c |
2.5.4.6 |
commonName |
cn |
2.5.4.3 |
DNQualifier [qualificatore di nome distinto] |
2.5.4.46 |
|
Generation Qualifier |
2.5.4.44 |
|
givenName |
2.5.4.42 |
|
iniziali |
2.5.4.43 |
|
località |
l |
2.5.4.7 |
Nome dell'organizzazione |
o |
2.5.4.10 |
organizationalUnitName |
ou |
2,5,4,11 |
pseudonimo |
2.5.4.65 |
|
Numero di serie |
2.5.4.5 |
|
st [stato] |
2.5.4.8 |
|
cognome |
sn |
2.5.4.4 |
titolo |
2,5,4,12 |
|
Componente del dominio |
dc |
0.9.2342.19200300.100.1.25 |
userid |
0,9,2342,19200300,1001,1 |
Il file di configurazione di esempio contiene il codice seguente: 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"
}
]
}
}
Utilizzate il seguente comando per emettere il certificato:
$
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
L'ARN del certificato emesso viene restituito:
{
"CertificateArn":"arn:aws:acm-pca:region
:account
:certificate-authority/CA_ID
/certificate/certificate_ID
"
}
Recuperate il certificato localmente come segue:
$
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
Puoi controllare il contenuto del certificato usando OpenSSL:
$
openssl x509 -in cert.pem
-text -noout
Nota
È anche possibile creare una CA privata che trasmetta attributi personalizzati a ciascun certificato emesso.
Emetti un certificato con estensioni personalizzate utilizzando un APIPassthrough modello
In questo esempio, viene emesso un certificato che contiene estensioni personalizzate. Per questo è necessario passare tre argomenti al issue-certificate comando: l'ARN di un APIPassthrough modello e un file di configurazione JSON che specifica le estensioni personalizzate e un CSR come quello mostrato in. Emetti un certificato standard ()AWS CLI
Il file di configurazione di esempio api_passthrough_config.txt
contiene il codice seguente:
{
"Extensions": {
"CustomExtensions": [
{
"ObjectIdentifier": "2.5.29.30",
"Value": "MBWgEzARgg8ucGVybWl0dGVkLnRlc3Q=",
"Critical": true
}
]
}
}
Il certificato personalizzato viene rilasciato come segue:
$
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
L'ARN del certificato emesso viene restituito:
{
"CertificateArn":"arn:aws:acm-pca:region
:account
:certificate-authority/CA_ID
/certificate/certificate_ID
"
}
Recuperate il certificato localmente come segue:
$
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
Puoi controllare il contenuto del certificato usando OpenSSL:
$
openssl x509 -in cert.pem
-text -noout