Richiedere un certificato e visualizzare i certificati emessi
Questo argomento descrive come richiedere un certificato a Certificate Authority Service e visualizzare i certificati emessi.
Prima di iniziare
Assicurati di disporre del ruolo IAM Richiedente certificato servizio CA (roles/privateca.certificateRequester
) o Gestore certificati CA Service (roles/privateca.certificateManager
). Per ulteriori informazioni 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 Concedi un singolo ruolo.
Panoramica
Puoi richiedere un certificato utilizzando i seguenti metodi:
- Genera la tua chiave privata o pubblica e invia una richiesta di firma del certificato (CSR).
- Fai in modo che CA Service crei una chiave privata o pubblica per te.
- Utilizza una chiave esistente di Cloud Key Management Service (Cloud KMS).
Richiedi il certificato utilizzando un CSR
Prima di procedere, devi generare un CSR. Dopo aver generato una richiesta di firma del certificato, procedi nel seguente modo:
Console
Vai alla pagina Certificate Authority Service nella console Google Cloud.
Fai clic sulla scheda CA Manager (Gestore CA).
Fai clic sul nome dell'autorità di certificazione da cui vuoi emettere.
Nella parte inferiore della pagina dei dettagli dell'autorità di certificazione, fai clic su Richiedi un certificato.
(Facoltativo) Se vuoi utilizzare un modello di certificato, fai clic su , seleziona un modello dall'elenco e fai clic su Salva.
Fai clic su Fornisci CSR.
(Facoltativo) Per sovrascrivere il nome del certificato generato automaticamente, inserisci il nome personalizzato nel campo Nome certificato.
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 nella casella CSR certificato. Per caricare la richiesta di firma del certificato, fai clic su Sfoglia.
Tocca Avanti.
Scaricare il certificato firmato
- 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.
- Fai clic su Fine.
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 è archiviata la richiesta di firma CSR con codifica PEM.
Il flag --validity
definisce il periodo 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
, vedi gcloud privateca certificate create.
Terraform
API REST
Genera una richiesta di firma del certificato (CSR) utilizzando il metodo che preferisci, 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 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 la console Google Cloud per generare certificati TLS client o server.
Nella console Google Cloud, vai alla pagina Certificate Authority Service.
Fai clic sulla scheda CA Manager (Gestore CA).
Fai clic sul nome dell'autorità di certificazione da cui vuoi emettere.
Nella parte inferiore della pagina dei dettagli dell'autorità di certificazione, fai clic su Richiedi un certificato.
(Facoltativo) Se vuoi utilizzare un modello di certificato, fai clic su , seleziona un modello dall'elenco e fai clic su Salva.
Fai clic su Inserisci dettagli.
(Facoltativo) Sostituisci il Nome 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.
Aggiungi nome di dominio
- In 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 del server: questi certificati consentono di autenticare l'identità di un server.
- TLS client: questi certificati consentono di autenticare l'identità di un richiedente.
Tocca Avanti.
Configurare le dimensioni e l'algoritmo della chiave
- (Facoltativo) In Configura dimensioni e algoritmo della chiave, seleziona dall'elenco le dimensioni e l'algoritmo della chiave di firma. 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 Continua.
Scaricare il certificato firmato
- (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.
Fai clic su Fine.
gcloud
Per utilizzare la funzionalità chiave generata automaticamente, devi installare la libreria Python Cryptographic Authority (PyCA). Per istruzioni sull'installazione della libreria di crittografia Pyca, consulta Inclusione della libreria di crittografia Pyca.
Per creare un certificato, usa 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 deve essere scritto il file della chiave privata generato.
- CERT_FILENAME: il percorso in cui deve essere scritto il file della catena di certificati con codifica PEM. La catena di certificati è ordinata da end-entity a root.
- DNS_NAME: uno o più nomi alternativi (SAN) di oggetti DNS separati da virgole.
- CERTIFICATE_PROFILE: l'identificatore univoco del profilo certificato.
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 passare 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 URI separati da virgole.--subject
: consente di passare un nome X.501 dell'oggetto del certificato.
Per ulteriori informazioni sul comando gcloud privateca certificates create
, vedi gcloud privateca certificate create.
Go
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Richiedi il certificato utilizzando una chiave Cloud KMS esistente
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 progetto.
- LOCATION_ID: la posizione del keyring.
- KEY_RING: il nome del keyring in cui si trova la chiave.
- KEY: il nome della chiave.
- KEY_VERSION: la versione della chiave.
- CERT_FILENAME: il percorso del file della catena di certificati con codifica PEM. Il file della catena di certificati viene ordinato da end-entity al root.
- DNS_NAME: SAN DNS separate da virgole.
Esecuzione di operazioni comuni con i certificati
Questa sezione descrive come eseguire alcune operazioni comuni con i certificati.
Emetti un certificato da una CA specifica in un pool di CA
gcloud
Per scegliere come target una CA specifica nel pool di CA per l'emissione del certificato, aggiungi il flag --ca
con il valore CA_ID della CA che deve rilasciare 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"
Console
La console Google Cloud supporta l'emissione di certificati solo da una determinata CA. Segui le istruzioni nella sezione Richiedi il certificato utilizzando una chiave generata automaticamente o nella sezione Richiedi il certificato utilizzando una CSR per scegliere la CA che deve rilasciare il certificato.
Terraform
Visualizza i certificati emessi
Console
Nella console Google Cloud, vai alla pagina Certificate Authority Service.
Fai clic sulla scheda Gestore CA.
Nella pagina Autorità di certificazione, fai clic sul nome dell'autorità di certificazione.
Nella parte inferiore della pagina dei dettagli dell'autorità di certificazione, fai clic su Visualizza i certificati emessi per visualizzare l'elenco dei certificati emessi dalla CA.
Puoi visualizzare i certificati nella pagina Tutti i certificati. I dettagli includono lo stato del certificato, la CA emittente, il pool di CA che contiene la CA, la data di scadenza del certificato e altro ancora.
gcloud
Per elencare tutti i certificati emessi da una determinata CA in un pool di CA, utilizza il seguente comando gcloud
:
gcloud privateca certificates list --issuer-pool ISSUER_POOL --ca CA_NAME
Per ulteriori informazioni sul comando gcloud privateca certificates list
, vedi gcloud privatecacertificate list.
Per elencare tutti i certificati di tutte le CA in una determinata località, utilizza il seguente comando gcloud
:
gcloud privateca certificates list --location LOCATION
Go
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione a CA Service, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Visualizza i dettagli per un singolo certificato
Console
Nella console Google Cloud, vai alla pagina Certificate Authority Service.
Scegli la CA di destinazione nella scheda Gestore CA.
Fai clic sul nome della CA.
Nella parte inferiore della pagina dei dettagli dell'autorità di certificazione, fai clic su Visualizza i certificati emessi per vedere l'elenco dei certificati emessi.
Fai clic su
nella colonna Azioni per il certificato che vuoi scaricare.In Scarica, fai clic su Certificato. Puoi scaricare la catena di certificati facendo clic su Catena di certificati.
gcloud
Per visualizzare la descrizione completa di un certificato, esegui questo comando:
gcloud privateca certificates describe CERT_NAME \
--issuer-pool POOL_ID
Per ulteriori informazioni sul comando gcloud privateca certificates describe
, consulta la pagina gcloud privateca documents describe.
Per esportare la catena di certificati X.509 con codifica PEM e in un file, esegui questo comando:
gcloud privateca certificates export CERT_NAME \
--issuer-pool POOL_ID \
--include-chain \
--output-file certificate-file
Per ulteriori informazioni sul comando gcloud privateca certificates export
, consulta gcloud privateca documents esportazione.
Prova di possesso dei certificati
La prova di possesso della chiave privata garantisce che il richiedente di un certificato possieda la chiave privata del certificato. Il servizio CA controlla la prova di possesso solo se il richiedente fornisce una CSR PKCS #10 in base a quanto indicato nel documento RFC 2986. Non viene applicata la prova di possesso di altre forme di richieste di certificato, ad esempio le richieste da parte di CertificateConfig.
È responsabilità delle applicazioni client che accettano i certificati verificare se il titolare possiede la chiave privata del certificato. L'applicazione di controlli per l'attestazione del possesso durante l'emissione dei certificati è una forma di difesa approfondita per la protezione dai clienti che si comportano in modo scorretto. L'esistenza di questi client, indipendentemente dal fatto che la CA verifichi la prova di possesso, potrebbe costituire una vulnerabilità di sicurezza.
Passaggi successivi
- Scopri di più sui profili certificato.
- Scopri come revocare i certificati.
- Scopri come ordinare e filtrare i certificati.
- Scopri come gestire i certificati utilizzando Google Cloud CLI.