Richiedi un certificato
Questa pagina descrive come creare una richiesta di certificato in Certificate Authority Service.
Puoi richiedere un certificato utilizzando i seguenti metodi:
- Genera la tua chiave privata o pubblica e invia una richiesta di firma del certificato (CSR).
- Utilizza una chiave privata o pubblica generata automaticamente da CA Service.
- Utilizza una chiave Cloud Key Management Service (Cloud KMS) esistente.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per emettere certificati, chiedi all'amministratore di concederti il ruolo IAM CA Service Certificate Requester (
roles/privateca.certificateRequester
) o CA Service Certificate Manager (roles/privateca.certificateManager
).Per saperne di più sui ruoli IAM predefiniti per CA Service, consulta Controllo dell'accesso con IAM.
Per informazioni sulla concessione di un ruolo IAM a un'entità, consulta Concedere un singolo ruolo.
Richiedere un certificato utilizzando una CSR
Per ottenere un certificato, genera una CSR, che utilizzi poi per richiedere il certificato.
Genera la CSR
Per istruzioni dettagliate su come generare una richiesta di firma del certificato utilizzando OpenSSL, consulta l'articolo Come generare una richiesta di firma del certificato con OpenSSL. Puoi anche utilizzare il seguente file di configurazione di esempio come riferimento quando generi la CSR.
Per utilizzare il file di configurazione di esempio:
Crea un file di configurazione denominato
csr.cnf
utilizzando la seguente configurazione.cat << EOF > csr.cnf [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] CN = example.com [v3_req] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = example.com DNS.2 = www.example.com EOF
Questo esempio genera una chiave RSA a 2048 bit (criptata con passphrase) e una CSR corrispondente contenente quanto segue:
- l'attributo
commonName
nel DN soggetto - l'estensione
subjectAlternativeName
- l'estensione
keyUsage
(contrassegnata come critica) - l'estensione
extendedKeyUsage
Modifica i parametri in base alle esigenze. Per utilizzare il formato del file di configurazione
x509v3_config
per definire le estensioni per i certificati X.509 e le richieste di firma del certificato, consulta la documentazione di OpenSSL.- l'attributo
Esegui il seguente comando
openssl
per generare una CSR e una chiave privata corrispondente:openssl req -newkey rsa:2048 -out csr.pem -keyout key.pem -config csr.cnf
Questo comando genera i seguenti file:
csr.pem
: la tua CSR, pronta per essere inviata a una CAkey.pem
: la tua chiave privata, che devi proteggere
Utilizza il file
csr.pem
nella richiesta di certificato.
Invia la richiesta di certificato utilizzando la CSR
Per richiedere un certificato utilizzando la CSR:
Console
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere la stessa del pool di CA che intendi utilizzare.
Seleziona un pool di CA.
(Facoltativo) Seleziona una CA specifica dal pool di CA. Tieni presente che quando scegli una CA specifica per l'emissione di certificati, crei una dipendenza da quella CA, rendendo più difficile la rotazione delle CA.
(Facoltativo) Scegli un modello di certificato. Se utilizzi un modello di certificato, assicurati che le norme del modello di certificato non siano in conflitto con le norme del pool di CA selezionato.
Fai clic su Fornisci una richiesta di firma del certificato (CSR) e poi su Avanti. Vengono visualizzati i dettagli del certificato.
(Facoltativo) Per sovrascrivere il nome del certificato generato automaticamente, inserisci il nome personalizzato nel campo Nome certificato. Una volta creato il certificato, non puoi eliminare o riutilizzare il nome del certificato.
(Facoltativo) Per scegliere un periodo di validità personalizzato per il certificato, inserisci il valore nel campo Valido per.
Copia e incolla la CSR nella casella CSR certificato. Se vuoi caricare un file contenente la CSR, fai clic su Sfoglia e poi scegli il file.
Fai clic su Genera certificato.
Scarica il certificato firmato
- Per visualizzare il certificato generato, fai clic su Visualizza certificato, quindi fai clic su Visualizza.
- Per copiare il certificato, fai clic su
.crt
, fai clic su Scarica certificato.
. Per scaricare il certificato
sotto forma di file - (Facoltativo) Per scaricare la catena di certificati, fai clic su Scarica catena di certificati.
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--csr CSR_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--validity "P30D"
Sostituisci quanto segue:
- CERT_ID: l'identificatore univoco del certificato.
- POOL_ID: il nome del pool di CA.
- ISSUER_LOCATION: la posizione del certificato.
- CSR_FILENAME: il file che archivia la CSR con codifica PEM.
- CERT_OUTPUT_FILE: il percorso in cui deve essere scritto il file della catena di certificati con codifica PEM. La catena di certificati è ordinata dal certificato dell'entità finale a quello radice.
Il flag --validity
definisce la durata di validità del certificato. Si tratta
di un flag facoltativo il cui valore predefinito è 30 giorni.
Per ulteriori informazioni sul comando gcloud privateca certificates create
, consulta gcloud privateca certificates
create.
Terraform
API REST
Genera una richiesta di firma del certificato (CSR) utilizzando il metodo che preferisci, ad esempio
openssl
.Di seguito è riportata una CSR di esempio codificata per JSON.
-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ8wDQYDVQQK\nDAZKb29uaXgxEzARBgNVBAMMCmpvb25peC5uZXQwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCnyy+5vcRQUBPqAse3ojmWjyUvhcJK6eLRXpp0teEUF5kg\nHb2ov8gYXb9sSim5fnvs09dGYDKibSrL4Siy7lA/NzMzWtKwyQQeLIQq/cLUJVcd\ndItJ0VRcqr+UPkTCii2vrdcocNDChHM1J8chDdl6DkpYieSTqZwlPcWlQBGAINmT\nT3Q0ZarIVM5l74j13WPuToGrhbVOIZXWxWqJjlHbBA8B/VKtSRCzM1qG60y8Pu2f\n6c78Dfg8+CGRzGwnz8aFS0Yf9czT9luNHSadS/RHjvE9FPZCsinz+6mJlXRcphi1\nKaHsDbstUAhse1h5E9Biyr9SFYRHxY7qRv9aSJ/dAgMBAAGgADANBgkqhkiG9w0B\nAQsFAAOCAQEAZz+I9ff1Rf3lTewXRUpA7nr5HVO1ojCR93Pf27tI/hvNH7z7GwnS\noScoJlClxeRqABOCnfmVoRChullb/KmER4BZ/lF0GQpEtbqbjgjkEDpVlBKCb0+L\nHE9psplIz6H9nfFS3Ouoiodk902vrMEh0LyDYNQuqFoyCZuuepUlK3NmtmkexlgT\n0pJg/5FV0iaQ+GiFXSZhTC3drfiM/wDnXGiqpbW9WmebSij5O+3BNYXKBUgqmT3r\nbryFydNq4qSOIbnN/MNb4UoKno3ve7mnGk9lIDf9UMPvhl+bT7C3OLQLGadJroME\npYnKLoZUvRwEdtZpbNL9QhCAm2QiJ6w+6g==\n-----END CERTIFICATE REQUEST-----
Richiedi un certificato.
Metodo HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates?certificate_id=CERTIFICATE_ID
Corpo JSON della richiesta:
{ "lifetime": { "seconds": 3600, "nanos": 0 }, "pem_csr": "PEM_CSR" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-id/locations/location/certificateAuthorities/ca-id/certificates/certificate-id", "pemCertificate": "-----BEGIN CERTIFICATE-----...", "certificateDescription": {...} }
Richiedi il certificato utilizzando una chiave generata automaticamente
Console
Puoi utilizzare Google Cloud console per generare certificati TLS client o server.
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere la stessa del pool di CA che intendi utilizzare.
Seleziona un pool di CA.
Fai clic su Inserisci manualmente i dettagli. Vengono visualizzati i dettagli del certificato.
(Facoltativo) Sostituisci il nome del certificato generato automaticamente con un nome personalizzato univoco.
(Facoltativo) Per scegliere un periodo di validità personalizzato per il certificato, inserisci il valore nel campo Valido per.
Aggiungere il nome di dominio
- Nella sezione Aggiungi nome di dominio, inserisci un nome di dominio nel campo Nome di dominio 1.
- (Facoltativo) Se vuoi aggiungere più di un nome di dominio, fai clic su Aggiungi elemento e inserisci un altro nome di dominio nel campo Nome di dominio 2.
Utilizzo esteso della chiave
(Facoltativo) In Utilizzo esteso della chiave, seleziona una delle seguenti opzioni in base al tuo caso d'uso:
- TLS client: questi certificati consentono di autenticare l'identità di un richiedente.
- TLS del server: questi certificati consentono di autenticare l'identità di un server.
Fai clic su Avanti.
Configurare le dimensioni e l'algoritmo della chiave
- (Facoltativo) In Configura dimensioni e algoritmo della chiave, seleziona le dimensioni e l'algoritmo della chiave di firma dall'elenco. Se salti questo passaggio, viene utilizzata la chiave RSASSA-PSS a 2048 bit con un digest SHA 256. Per informazioni sulla selezione di una chiave di firma e di un algoritmo, vedi Scegliere un algoritmo per la chiave.
- Fai clic su Genera certificato.
Scarica il certificato firmato
- Per visualizzare il certificato generato, fai clic su Visualizza certificato, quindi fai clic su Visualizza.
- (Facoltativo) Per scaricare la catena di certificati con codifica PEM, fai clic su Scarica catena di certificati.
(Facoltativo) Per scaricare la chiave privata con codifica PEM associata, fai clic su Scarica chiave privata.
gcloud
Per utilizzare la funzionalità di chiave generata automaticamente, devi installare la libreria Python Cryptographic Authority (PyCA). Per istruzioni sull'installazione della libreria di crittografia Pyca, vedi Aggiunta della libreria di crittografia Pyca.
Per creare un certificato, utilizza il seguente comando gcloud
:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "CERTIFICATE_PROFILE"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- ISSUER_LOCATION: la posizione del certificato.
- KEY_FILENAME: il percorso in cui deve essere scritto il file della chiave privata generata.
- CERT_OUTPUT_FILE: il percorso in cui deve essere scritto il file della catena di certificati con codifica PEM. La catena di certificati è ordinata dall'entità finale alla radice.
- DNS_NAME: uno o più nomi alternativi del soggetto (SAN) DNS separati da virgole.
- CERTIFICATE_PROFILE: l'identificatore univoco del profilo del certificato. Ad esempio, utilizza
leaf_server_tls
per TLS del server dell'entità finale.
Il comando gcloud
menziona i seguenti flag:
--generate-key
: genera una nuova chiave privata RSA-2048 sul tuo computer.
Puoi anche utilizzare una qualsiasi combinazione dei seguenti flag:
--dns-san
: consente di passare uno o più SAN DNS separati da virgole.--ip-san
: consente di trasmettere uno o più SAN IP separati da virgole.--uri-san
: consente di passare uno o più SAN URI separati da virgole.--subject
: consente di passare un nome X.501 del soggetto del certificato.
Per saperne di più sul comando gcloud privateca certificates create
, consulta gcloud privateca certificates create.
Vai
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Richiedere il certificato utilizzando una chiave Cloud KMS esistente
Puoi utilizzare Google Cloud CLI solo per richiedere certificati utilizzando una chiave Cloud KMS.
gcloud
Per utilizzare una chiave Cloud KMS per creare un certificato TLS del server dell'entità finale, esegui questo comando:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- ISSUER_LOCATION: la posizione del certificato.
- PROJECT_ID: l'ID progetto
- LOCATION_ID: la posizione del portachiavi.
- KEY_RING: il nome del portachiavi in cui si trova la chiave.
- KEY: il nome della chiave.
- KEY_VERSION: la versione della chiave.
- CERT_OUTPUT_FILE: il percorso del file della catena di certificati con codifica PEM. Il file della catena di certificati è ordinato dall'entità finale al certificato radice.
- DNS_NAME: SAN DNS separati da virgole.
Emettere un certificato da una CA specifica in un pool di CA
Questa sezione descrive come emettere certificati da una CA specifica in un pool di CA.
Console
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere la stessa del pool di CA che intendi utilizzare.
Seleziona un pool di CA.
Per scegliere una CA, fai clic su Utilizza una CA specifica di questo pool di CA e poi seleziona una CA dall'elenco.
Seleziona gli altri parametri come hai fatto nella sezione Richiedi certificato utilizzando una chiave generata automaticamente o nella sezione Richiedi certificato utilizzando una CSR.
gcloud
Per scegliere una CA specifica nel pool di CA per l'emissione di certificati, aggiungi il
flag --ca
con il CA_ID della CA che deve
emettere il certificato.
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--ca CA_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Terraform
Richiedere un certificato in modalità di convalida
La richiesta di un certificato in modalità di convalida crea un certificato di test non firmato. Questo certificato di test non è codificato PEM e non comporta alcun addebito. Anche se non puoi scaricare il certificato, la descrizione del certificato ipotetico ti consente di verificare di poter emettere correttamente un certificato firmato con i parametri scelti.
Per richiedere un certificato in modalità di convalida:
Console
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic su Richiedi un certificato.
Seleziona Utilizza la modalità di convalida per una descrizione ipotetica del certificato anziché per un certificato firmato.
Segui gli stessi passaggi che segui per richiedere un certificato firmato.
Passaggi successivi
- Scopri di più sui profili dei certificati.
- Scopri come revocare i certificati.
- Scopri come ordinare e filtrare i certificati. - Scopri come gestire i certificati utilizzando Google Cloud CLI.