Richiedi un certificato
In questa pagina viene descritto 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 firma di certificato Richiesta (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 i certificati, chiedi all'amministratore per concederti il richiedente del certificato di servizio CA (
roles/privateca.certificateRequester
) oppure IAM di CA Service Certificate Manager (roles/privateca.certificateManager
) ruolo.Per ulteriori informazioni sui ruoli IAM predefiniti Per il servizio CA, vedi Controllo dell'accesso con IAM.
Per informazioni sulla concessione di un ruolo IAM a un'entità, consulta Concedere un singolo ruolo.
Richiedi il certificato utilizzando una CSR
Per ottenere un certificato, devi generare una richiesta di firma del certificato (CSR) da utilizzare per richiederlo.
Genera il CSR
Per istruzioni dettagliate su come generare una richiesta CSR utilizzando OpenSSL, consulta Come generare una richiesta CSR con OpenSSL. Puoi anche utilizzare il seguente file di configurazione di esempio come riferimento durante la generazione il tuo 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 (passphrase criptata) e una richiesta CSR corrispondente che contiene:
- Attributo
commonName
nel DN dell'oggetto - l'estensione
subjectAlternativeName
- l'estensione
keyUsage
(contrassegnata come critica) - l'estensione
extendedKeyUsage
Modifica i parametri come richiesto. Per utilizzare il file di configurazione
x509v3_config
per definire le estensioni per i certificati X.509 e i CSR, consulta la documentazione di OpenSSL.- Attributo
Esegui questo comando
openssl
per generare una richiesta 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
: il tuo CSR, pronto per essere inviato a una CAkey.pem
: la tua chiave privata, che dovresti tenere al sicuro
Utilizza il file
csr.pem
nella richiesta di certificato.
Invia una richiesta di certificato utilizzando la richiesta di firma del certificato (CSR)
Per richiedere un certificato utilizzando la CSR, segui questi passaggi:
Console
Vai alla pagina Certificate Authority Service nella console Google Cloud.
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere uguale a quella 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 un modello di un'autorità di certificazione per l'emissione del certificato, si crea una dipendenza da quest'ultima, rendendo più difficile ruotano le CA.
(Facoltativo) Scegli un modello di certificato. Se usi un modello di certificato, assicurati che i criteri del modello di certificato non siano in conflitto con criteri del pool di CA selezionato.
Fai clic su Fornisci una richiesta di firma del certificato (CSR) e poi fai clic su Avanti. Vengono visualizzati i dettagli del certificato.
(Facoltativo) Per sovrascrivere il certificato generato automaticamente inserisci il nome personalizzato nel campo Nome certificato. Dopo il non puoi eliminarlo, né riutilizzarlo .
(Facoltativo) Per scegliere un periodo di validità personalizzato per il certificato, inserisci il valore nel campo Valido per.
Copia e incolla la richiesta di firma del certificato (CSR) nella casella CSR certificato. Se vuoi Per caricare un file contenente il CSR, fai clic su Sfoglia, quindi scegli il file.
Fai clic su Genera certificato.
Scarica il certificato firmato
- Per visualizzare il certificato generato, fai clic su Visualizza certificato, quindi su Visualizza.
- Per copiare il certificato, fai clic su
.crt
, fai clic su Scarica il 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 \
--csr CSR_FILENAME \
--cert-output-file CERT_FILENAME \
--validity "P30D"
Sostituisci quanto segue:
- CERT_ID: l'identificatore univoco del certificato.
- POOL_ID: il nome del pool di CA.
- CSR_FILENAME: il file in cui è archiviato il CSR con codifica PEM.
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 certificate create.
Terraform
API REST
Genera una richiesta di firma del certificato (CSR) utilizzando il tuo metodo preferito. ad esempio
openssl
.Di seguito è riportato un esempio di CSR codificato 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 delle seguenti 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 la console Google Cloud per generare certificati TLS client o server.
Vai alla pagina Certificate Authority Service nella console Google Cloud.
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere uguale a quella del pool di CA che intendi utilizzare.
Seleziona un pool di CA.
Fai clic su Inserisci i dettagli manualmente. Vengono visualizzati i dettagli del certificato.
(Facoltativo) Sostituisci il Nome del certificato generato automaticamente con uno personalizzato univoco.
(Facoltativo) Per scegliere un periodo di validità personalizzato per il certificato, inserisci il valore nel campo Valido per.
Aggiungi un nome di dominio
- In Add domain name (Aggiungi nome di dominio), inserisci un nome di dominio in Domain name 1 (Nome 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 tra le seguenti opzioni in base al caso d'uso:
- TLS client: questi certificati ti consentono di autenticare l'identità delle un richiedente.
- TLS del server: questi certificati ti 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 la le dimensioni e l'algoritmo della chiave nell'elenco. Se salti questo passaggio, Viene utilizzata una chiave RSASSA-PSS a 2048 bit con un digest SHA 256. Per informazioni sulla selezione di una chiave di firma e di un algoritmo, consulta Scegliere un algoritmo chiave.
- Fai clic su Genera certificato.
Scarica il certificato firmato
- Per visualizzare il certificato generato, fai clic su Visualizza certificato, quindi su Visualizza.
- (Facoltativo) Per scaricare la catena di certificati con codifica PEM, fai clic su Scarica la catena di certificati.
(Facoltativo) Per scaricare la chiave privata con codifica PEM associata, fai clic su Scarica la chiave privata.
gcloud
Per utilizzare la funzionalità chiave generata automaticamente, devi installare il programma Python nella libreria della Cryptographic Authority (PyCA). Per istruzioni sull'installazione della libreria di crittografia Pyca, consulta Inclusione della libreria di crittografia Pyca.
Per creare un certificato, utilizza il seguente comando gcloud
:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "CERTIFICATE_PROFILE"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- KEY_FILENAME: il percorso in cui è stato generato del file di chiave privata.
- CERT_FILENAME: il percorso in cui la codifica PEM occorre scrivere il file della catena di certificati. La catena di certificati è dall'entità finale alla radice.
- DNS_NAME: uno o più nomi alternativi dell'oggetto DNS (SAN) separati da virgole.
- CERTIFICATE_PROFILE: l'identificatore univoco di
il profilo di certificazione.
Ad esempio, utilizza
leaf_server_tls
per il protocollo TLS del server dell'entità finale.
Il comando gcloud
menziona i seguenti flag:
--generate-key
: genera una nuova chiave privata RSA-2048 sulla tua macchina.
Puoi anche utilizzare qualsiasi combinazione dei seguenti flag:
--dns-san
: consente di trasmettere una o più SAN DNS separate da virgole.--ip-san
: consente di passare una o più SAN IP separate da virgole.--uri-san
: consente di passare una o più SAN con URI separati da virgole.--subject
: ti consente di trasmettere un nome X.501 del certificato soggetto.
Per ulteriori informazioni sul comando gcloud privateca certificates create
, consulta gcloud privateca certificate create.
Vai
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Richiedi 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 di entità finale, esegui questo comando:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- PROJECT_ID: l'ID del progetto.
- LOCATION_ID: la posizione del keyring.
- KEY_RING: il nome del keyring in cui è stata inserita la chiave in cui viene localizzato.
- KEY: il nome della chiave.
- KEY_VERSION: la versione della chiave.
- CERT_FILENAME: il percorso della codifica PEM file della catena di certificati. Il file della catena di certificati è ordinato dall'entità finale fino al rooting.
- DNS_NAME: SAN DNS separate da virgole.
Emetti 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 console Google Cloud.
Fai clic su Richiedi un certificato.
Seleziona una regione. La regione deve essere uguale a quella 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, poi seleziona una CA dall'elenco.
Seleziona altri parametri come hai fatto nella sezione Richiedi il certificato utilizzando una chiave generata automaticamente o Richiedi il certificato utilizzando una CSR .
gcloud
Per scegliere come target una CA specifica nel pool di CA per l'emissione del certificato, aggiungi il parametro
Flag --ca
con il CA_ID della CA che deve emettere il certificato.
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--ca CA_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Terraform
Richiedi un certificato in modalità di convalida
La richiesta di un certificato in modalità di convalida crea un test non firmato certificato. Questo certificato di test non ha codifica PEM e non prevede costi aggiuntivi. Anche se non è possibile scaricare il certificato, la descrizione ipotetica del certificato ti consente di confermare che puoi emettere correttamente un certificato firmato con parametri.
Per richiedere un certificato in modalità di convalida:
Console
Vai alla pagina Certificate Authority Service nella console Google 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 per richiedere un certificato firmato.
Passaggi successivi
- Scopri di più sui profili di certificazione.
- Scopri come revocare i certificati.
- Scopri come ordinare e filtrare i certificati.
- Scopri come gestire i certificati utilizzando Google Cloud CLI.