

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à.

# Emettere certificati privati per entità finali
<a name="PcaIssueCert"></a>

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 [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html)o la console)  |  ✓ (utilizzando [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html))  | 
|  Associazione con sistemi di bilanciamento del carico e servizi connessi a Internet AWS   |  ✓  |  Non supportata  | 
| Rinnovo gestito dei certificati | ✓ | [Supportato indirettamente tramite ACM](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) | 
|  Supporto della console  |  ✓  |  Non supportata  | 
|  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.](template-definitions.md#EndEntityCertificate-V1) Per ulteriori informazioni sui modelli di certificato disponibili, consulta [Utilizza modelli di certificato AWS Private CA](UsingTemplates.md).

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](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ Utilizzando uno qualsiasi degli algoritmi di [firma supportati](https://docs.aws.amazon.com/privateca/latest/userguide/supported-algorithms.html).
+ [Specificando un periodo di validità per la [CA](PcaCreateCa.html) privata e i certificati privati.](PcaIssueCert.html)

Dopo aver creato un certificato TLS privato utilizzando CA privata AWS, puoi [importarlo](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) 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 [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)API, 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](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) [privato](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html) nella Guida per l'utente ACM.*

## Emetti un certificato standard ()AWS CLI
<a name="IssueCertCli"></a>

Puoi utilizzare il comando CA privata AWS CLI [issue-certificate o l'azione API [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)per richiedere un certificato](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/issue-certificate.html) 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](https://www.openssl.org/).

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](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/get-certificate.html) e, se possiedi la CA, puoi creare un rapporto di controllo.](PcaAuditReport.md)

**Considerazioni sulla creazione di certificati**
+ In conformità con [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280), 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 -keyout private-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
<a name="custom-subject-1"></a>

In questo esempio, viene emesso un certificato contenente elementi personalizzati del nome del soggetto. Oltre a fornire un CSR come quello in dotazione[Emetti un certificato standard ()AWS CLI](#IssueCertCli), 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` a`CustomAttributes`. Tuttavia, è possibile passare standard come parte di. OIDs `CustomAttributes` Il nome OIDs del soggetto predefinito è elencato nella tabella seguente (informazioni tratte da [RFC 4519](https://www.rfc-editor.org/rfc/rfc4519) e dal database di [riferimento Global OID](https://oidref.com)):


|  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 | 
|  organizationName  |  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
<a name="custom-subject-2"></a>

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](#IssueCertCli) 

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
```