Este documento descreve como revogar um certificado através do serviço de autoridade de certificação. A revogação de um certificado invalida-o antes da respetiva data de validade, impedindo que seja usado para autenticação. Pode revogar um certificado se a chave privada estiver comprometida, o certificado for substituído por um novo certificado ou o certificado deixar de ser necessário (por exemplo, quando o serviço para o qual o certificado foi emitido é desativado).
Este documento destina-se a públicos-alvo no grupo de operadores de aplicações, como programadores de aplicações ou cientistas de dados, que gerem os ciclos de vida dos certificados nos respetivos projetos. Para mais informações, consulte o artigo Públicos-alvo da documentação isolada do GDC.
Acerca da revogação de certificados
O serviço de AC suporta a revogação de certificados através da publicação de Listas de revogação de certificados (LRCs). Uma LRC é uma lista de números de série de certificados que foram revogados e já não são fidedignos. Por predefinição, é publicada uma nova LRC a cada 15 minutos. Além disso, qualquer revogação de certificado bem-sucedida aciona automaticamente a geração de uma nova LRC.
Os certificados emitidos pelo serviço de AC incluem uma extensão denominada Ponto de distribuição de LRC (CDP). Esta extensão contém o URL onde pode encontrar e transferir a LRC desse certificado. As aplicações de cliente usam este URL para obter a LRC e verificar se o número de série de um certificado está presente. Se o número de série aparecer na lista, o certificado é considerado inválido e a ligação tem de ser rejeitada.
Antes de começar
Antes de poder revogar um certificado, tem de pedir as autorizações necessárias e preparar o seu ambiente.
Peça funções de IAM
Para revogar certificados e ver pedidos de revogação, contacte o administrador de IAM da organização para pedir a função Gestor de operações do serviço de AC (certificate-authority-service-operation-manager) no espaço de nomes do projeto da autoridade de certificação.
Prepare o seu ambiente
Transfira e instale a CLI gdcloud, se ainda não o tiver feito.
Gere um ficheiro kubeconfig para configurar o acesso
kubectl.
Revogue um certificado
O método para revogar um certificado depende de a autoridade de certificação (AC) emissora ter o modo ACME ativado. Depois de revogar um certificado, o respetivo número de série aparece em todas as LRCs futuras dessa AC até o certificado expirar.
Revogue um certificado de uma AC com o ACME ativado
Cada AC com o ACME ativado expõe um URL do servidor ACME único no respetivo estado assim que estiver pronta. Para revogar um certificado de uma AC com o ACME ativado, tem de usar uma ferramenta de cliente ACME para interagir com este URL através do protocolo ACME.
Revogue um certificado de uma AC com o ACME ativado:
Obtenha o URL do servidor ACME da sua AC:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get certificateauthorities CA_NAME \ -n USER_PROJECT_NAMESPACE \ -ojson | jq -r '.status.acme.uri'Substitua o seguinte:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o ficheiro kubeconfig do servidor da API de gestão.CA_NAME: o nome da AC com o ACME ativado (raiz ou subordinada).USER_PROJECT_NAMESPACE: o espaço de nomes do projeto.
Use o URL obtido com a ferramenta de cliente ACME à sua escolha para emitir um pedido de revogação. Consulte a documentação do seu cliente ACME específico para ver detalhes.
Revogue um certificado de uma AC com o ACME desativado
Se o modo ACME estiver desativado na AC, revogue um certificado criando e aplicando um recurso personalizado RevokeCertificateRequest:
Crie um ficheiro YAML de recurso personalizado
RevokeCertificateRequest(comorevoke-cert-request.yaml):apiVersion: pki.security.gdc.goog/v1 kind: RevokeCertificateRequest metadata: name: REVOKE_CERT_REQ_NAME namespace: USER_PROJECT_NAMESPACE spec: certificateRequestRef: name: CERT_REQ_NAME namespace: USER_PROJECT_NAMESPACE reason: REASONSubstitua o seguinte:
REVOKE_CERT_REQ_NAME: o nome definido pelo utilizador para o pedido de revogação.USER_PROJECT_NAMESPACE: o espaço de nomes do projeto.CERT_REQ_NAME: o nome do recursoCertificateRequestassociado ao certificado que quer revogar.REASON: o motivo da revogação. Os seguintes são motivos válidos:Unspecified,KeyCompromise,CaCompromise,AffiliationChanged,Superseded,CessationOfOperation,CertificateHold,RemoveFromCrl,PrivilegeWithdrawneAaCompromise.
Aplique o recurso personalizado:
kubectl apply -f revoke-cert-request.yaml --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIGSubstitua MANAGEMENT_API_SERVER_KUBECONFIG pelo caminho para o ficheiro kubeconfig do servidor da API de gestão.
Valide a prontidão do pedido de revogação de certificado:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n USER_PROJECT_NAMESPACE \ get revokecertificaterequest.pki.security.gdc.goog/REVOKE_CERT_REQ_NAME \ -ojson | jq -r ' .status.conditions[] | select( .type as $id | "Ready" | index($id))'Substitua o seguinte:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o ficheiro kubeconfig do servidor da API de gestão.USER_PROJECT_NAMESPACE: o espaço de nomes do projeto.REVOKE_CERT_REQ_NAME: o nome do pedido de revogação.
O resultado tem um aspeto semelhante ao seguinte:
{ "lastTransitionTime": "2025-08-19T23:20:22Z", "message": "RevokeCertificateRequest reconciled", "observedGeneration": 1, "reason": "Ready", "status": "True", "type": "Ready" }O processo está concluído e o número de série do certificado é adicionado à próxima LRC gerada.
Liste os pedidos de certificados revogados
Liste todos os recursos RevokeCertificateRequest num espaço de nomes do projeto:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
-n USER_PROJECT_NAMESPACE \
get revokecertificaterequests
Substitua o seguinte:
MANAGEMENT_API_SERVER_KUBECONFIG: o caminho para o ficheiro kubeconfig do servidor da API de gestão.USER_PROJECT_NAMESPACE: o espaço de nomes do projeto.
O resultado tem um aspeto semelhante ao seguinte:
NAMESPACE NAME READY AGE
foo revoke-cert-req True 30s