Solicitar um certificado
Nesta página, descrevemos como criar uma solicitação de certificado no Certificate Authority Service.
Solicite um certificado usando os seguintes métodos:
- Gerar sua própria chave privada ou pública e enviar uma assinatura de certificado solicitação (CSR).
- Use uma chave privada ou pública gerada automaticamente pelo serviço de AC.
- Use uma chave atual do Cloud Key Management Service (Cloud KMS).
Antes de começar
Para receber as permissões necessárias para emitir certificados, peça ao administrador para conceder a você o papel de solicitante de certificado de serviço de CA (
roles/privateca.certificateRequester
) ou o CA Service Certificate Manager (roles/privateca.certificateManager
) do IAM de rede.Para mais informações sobre os papéis predefinidos do IAM para CA Service, consulte Controle de acesso com o IAM.
Para informações sobre como conceder um papel do IAM a um principal, consulte Conceder um único papel.
Solicitar certificado usando uma CSR
Para conseguir um certificado, você gera uma CSR, que é usada para solicitá-lo.
Gerar a CSR
Para instruções detalhadas sobre como gerar uma CSR usando o OpenSSL, consulte Como gerar uma CSR com o OpenSSL. Você também pode usar o arquivo de configuração de exemplo a seguir como referência ao gerar sua CSR.
Para usar o arquivo de configuração de amostra, siga estas etapas:
Crie um arquivo de configuração chamado
csr.cnf
usando a configuração a seguir.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
Este exemplo gera uma chave RSA de 2.048 bits (criptografada por senha longa) e uma CSR correspondente contendo o seguinte:
- o atributo
commonName
no DN do assunto - a extensão
subjectAlternativeName
- a extensão
keyUsage
(marcada como crítica) - a extensão
extendedKeyUsage
Modifique os parâmetros conforme necessário. Para usar o arquivo de configuração
x509v3_config
para definir extensões para certificados X.509 e CSRs, consulte a documentação do OpenSSL (link em inglês).- o atributo
Execute o seguinte comando
openssl
para gerar uma CSR e uma chave privada correspondente:openssl req -newkey rsa:2048 -out csr.pem -keyout key.pem -config csr.cnf
Esse comando gera os seguintes arquivos:
csr.pem
: sua CSR, pronta para ser enviada a uma AC.key.pem
: sua chave privada, que você precisa manter em segurança.
Use o arquivo
csr.pem
na solicitação de certificado.
Enviar solicitação de certificado usando a CSR
Para solicitar um certificado usando a CSR, siga estas etapas:
Console
Acesse a página Certificate Authority Service no console do Google Cloud.
Clique em Solicitar um certificado.
Selecione uma região. A região precisa ser igual à do pool de ACs que você pretende usar.
Selecione um pool de ACs.
Opcional: selecione uma AC específica no pool de ACs. Quando você escolhe CA para emissão de certificados, você cria uma dependência nessa CA, dificultando a alternar ACs.
Opcional: escolha um modelo de certificado. Se você usa um modelo de certificado, certifique-se de que as políticas do modelo de certificado não entrem em conflito com o políticas do pool de ACs selecionados.
Clique em Fornecer solicitação de assinatura de certificado (CSR) e depois em Próxima. Os detalhes do certificado serão exibidos.
Opcional: para substituir o certificado gerado automaticamente digite o nome personalizado no campo Nome do certificado. Após o certificado for criado, não será possível excluí-lo nem reutilizá-lo nome.
Opcional: para escolher um período de validade personalizado para o certificado, digite o valor no campo Valid for;
Copie e cole a CSR na caixa CSR do certificado. Se você quiser para fazer upload de um arquivo com a CSR, clique em Procurar e escolha o arquivo.
Clique em Gerar certificado.
Fazer o download do certificado assinado
- Para conferir o certificado gerado, clique em Ver certificado e em Visualizar.
- Para copiar o certificado, clique em
.crt
, clique em Faça o download do certificado.
.
Para fazer o download do certificado como um arquivo - Opcional: para fazer o download da cadeia de certificados, clique em Fazer o download da cadeia de certificados.
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--csr CSR_FILENAME \
--cert-output-file CERT_FILENAME \
--validity "P30D"
Substitua:
- CERT_ID: o identificador exclusivo do certificado.
- POOL_ID: o nome do pool de ACs.
- CSR_FILENAME: o arquivo que armazena a CSR codificada em PEM.
A sinalização --validity
define por quanto tempo o certificado é válido. É uma sinalização opcional cujo valor padrão é 30 dias.
Para mais informações sobre o comando gcloud privateca certificates create
, consulte gcloud privatecacertificates create.
Terraform
API REST
Gere uma solicitação de assinatura de certificado (CSR, na sigla em inglês) usando o método que preferir. como
openssl
.Veja a seguir um exemplo de CSR codificado para 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-----
Solicite um certificado.
Método HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates?certificate_id=CERTIFICATE_ID
Corpo JSON da solicitação:
{ "lifetime": { "seconds": 3600, "nanos": 0 }, "pem_csr": "PEM_CSR" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/location/certificateAuthorities/ca-id/certificates/certificate-id", "pemCertificate": "-----BEGIN CERTIFICATE-----...", "certificateDescription": {...} }
Solicitar certificado usando uma chave gerada automaticamente
Console
É possível usar o console do Google Cloud para gerar certificados TLS do cliente ou servidor.
Acesse a página Certificate Authority Service no console do Google Cloud.
Clique em Solicitar um certificado.
Selecione uma região. A região precisa ser igual à do pool de ACs que você pretende usar.
Selecione um pool de ACs.
Clique em Inserir detalhes manualmente. Os detalhes do certificado serão exibidos.
Opcional: substitua o Nome do certificado gerado automaticamente por uma exclusivo.
Opcional: para escolher um período de validade personalizado para o certificado, digite o valor no campo Valid for;
Adicionar nome de domínio
- Em Adicionar nome de domínio, digite um nome de domínio no campo Nome de domínio 1 .
- Opcional: para adicionar mais de um nome de domínio, clique em Adicionar item e digite outro nome de domínio no campo Nome de domínio 2.
Uso estendido de chave
Opcional: em Uso estendido da chave, selecione entre as seguintes opções com base no seu caso de uso:
- TLS do cliente: esses certificados permitem autenticar a identidade do um requerente.
- TLS do servidor: esses certificados permitem autenticar a identidade de um servidor.
Clique em Next.
Configurar o algoritmo e o tamanho da chave
- Opcional: em Configurar o tamanho e o algoritmo da chave, selecione a assinatura o tamanho da chave e o algoritmo da lista. Se você pular essa etapa, A chave RSASSA-PSS de 2.048 bits com um resumo SHA 256 é usada. Para informações sobre como selecionar uma chave de assinatura e um algoritmo, consulte Escolher um algoritmo de chave.
- Clique em Gerar certificado.
Fazer o download do certificado assinado
- Para conferir o certificado gerado, clique em Ver certificado e em Visualizar.
- Opcional: para fazer o download da cadeia de certificados codificado em PEM, clique em Faça o download da cadeia de certificados.
Opcional: para fazer o download da chave privada codificada em PEM associada, clique em Faça o download da chave privada.
gcloud
Para usar o recurso de chave gerada automaticamente, você precisa instalar a biblioteca Python Cryptographic Authority (PyCA). Para instruções sobre como instalar a biblioteca de criptografia Pyca, consulte Como incluir a biblioteca de criptografia Pyca.
Para criar um certificado, use o seguinte 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"
Substitua:
- POOL_ID: o nome do pool de ACs.
- KEY_FILENAME: o caminho em que o de chave privada do Google Cloud.
- CERT_FILENAME: o caminho em que o formato PEM está codificado arquivo da cadeia de certificados. A cadeia de certificados é ordenada da entidade final à raiz.
- DNS_NAME: um ou mais nomes alternativos de assunto do DNS (SANs, na sigla em inglês) separados por vírgula.
- CERTIFICATE_PROFILE: o identificador exclusivo de
o perfil do certificado.
Por exemplo, use
leaf_server_tls
para o TLS do servidor de entidade final.
O comando gcloud
menciona as seguintes sinalizações:
--generate-key
: gera uma nova chave privada RSA-2048 na sua máquina.
Também é possível usar qualquer combinação das sinalizações a seguir:
--dns-san
: permite transmitir uma ou mais SANs DNS separadas por vírgulas.--ip-san
: permite transmitir uma ou mais SANs IP separadas por vírgulas.--uri-san
: permite transmitir uma ou mais SANs de URI separados por vírgulas.--subject
: permite transmitir um nome X.501 do certificado. assunto.
Para mais informações sobre o comando gcloud privateca certificates create
, consulte gcloud privatecacertificates create.
Go
Para autenticar no CA Service, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para autenticar no CA Service, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no CA Service, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Solicitar certificado usando uma chave atual do Cloud KMS
Você só pode usar a Google Cloud CLI para solicitar certificados usando uma chave do Cloud KMS.
gcloud
Para usar uma chave do Cloud KMS para criar um certificado TLS do servidor de entidade final, execute o seguinte 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"
Substitua:
- POOL_ID: o nome do pool de ACs.
- PROJECT_ID: o ID do projeto.
- LOCATION_ID: o local do keyring.
- KEY_RING: o nome do keyring em que a chave está localizado.
- KEY: o nome da chave.
- KEY_VERSION: a versão da chave.
- CERT_FILENAME: o caminho do arquivo PEM arquivo da cadeia de certificados. O arquivo da cadeia de certificados é ordenado com base na entidade final para raiz.
- DNS_NAME: SANs DNS separados por vírgula.
Emitir um certificado de uma AC específica em um pool de ACs
Esta seção descreve como emitir certificados de uma AC específica em um pool de ACs.
Console
Acesse a página Certificate Authority Service no console do Google Cloud.
Clique em Solicitar um certificado.
Selecione uma região. A região precisa ser igual à do pool de ACs que você pretende usar.
Selecione um pool de ACs.
Para escolher uma AC, clique em Usar uma AC específica deste pool de AC e selecione uma AC da lista.
Selecione outros parâmetros como você fez na seção Solicitar certificado usando uma chave gerada automaticamente ou Solicitar certificado usando uma CSR nesta seção.
gcloud
Para direcionar uma AC específica no pool de ACs para a emissão de certificados, adicione o
Sinalização --ca
com o CA_ID da AC que deve emitir o certificado.
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
Solicitar um certificado no modo de validação
Solicitar um certificado no modo de validação cria um teste não assinado certificado. Esse certificado de teste não é codificado em PEM e não gera custos financeiros. Não é possível fazer o download do certificado, mas a descrição do certificado hipotético permite que você confirme que pode emitir um certificado assinado com as assinaturas parâmetros.
Para solicitar um certificado no modo de validação, siga estas etapas:
Console
Acesse a página Certificate Authority Service no console do Google Cloud.
Clique em Solicitar um certificado.
Selecione Usar o modo de validação para uma descrição de certificado hipotético em vez de um certificado assinado.
Siga as mesmas etapas que faria para solicitar um certificado assinado.
A seguir
- Saiba mais sobre perfis de certificado.
- Saiba como revogar certificados.
- Saiba como classificar e filtrar certificados.
- Saiba como gerenciar certificados usando a Google Cloud CLI.