Veja os certificados emitidos

Esta página explica como pode ver os certificados emitidos através da Google Cloud consola, da CLI do Google Cloud e das bibliotecas cliente do Google Cloud.

Só pode ver certificados emitidos por ACs de nível empresarial.

Veja os certificados emitidos

Consola

  1. Na Google Cloud consola, aceda à página Serviço de autoridade de certificação.

    Aceda ao serviço de autoridade de certificação

  2. Clique no separador Gestor de AC.

  3. Na página Autoridades de certificação, clique no nome da AC.

  4. Na parte inferior da página de detalhes da Autoridade de certificação, clique em Ver certificados emitidos para ver a lista de certificados emitidos pela AC.

    É apresentada uma lista de certificados na página Todos os certificados. Os detalhes apresentados incluem o estado do certificado, a AC emissora, o conjunto de ACs que contém a AC, a data de validade do certificado e muito mais.

gcloud

Para apresentar uma lista de todos os certificados emitidos por uma AC específica num conjunto de ACs, use o seguinte comando gcloud:

gcloud privateca certificates list --issuer-pool ISSUER_POOL --issuer-location ISSUER_LOCATION --ca CA_NAME

Para mais informações sobre o comando gcloud privateca certificates list, consulte gcloud privateca certificates list.

Para apresentar uma lista de todos os certificados em todas as ACs numa determinada localização, use o seguinte comando gcloud:

gcloud privateca certificates list --location LOCATION

Ir

Para se autenticar no serviço de AC, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	privateca "cloud.google.com/go/security/privateca/apiv1"
	"cloud.google.com/go/security/privateca/apiv1/privatecapb"
	"google.golang.org/api/iterator"
)

// List Certificates present in the given CA pool.
func listCertificates(
	w io.Writer,
	projectId string,
	location string,
	caPoolId string) error {
	// projectId := "your_project_id"
	// location := "us-central1"		// For a list of locations, see: https://cloud.google.com/certificate-authority-service/docs/locations.
	// caPoolId := "ca-pool-id"			// The CA Pool id in which the certificate exists.

	ctx := context.Background()
	caClient, err := privateca.NewCertificateAuthorityClient(ctx)
	if err != nil {
		return fmt.Errorf("NewCertificateAuthorityClient creation failed: %w", err)
	}
	defer caClient.Close()

	fullCaName := fmt.Sprintf("projects/%s/locations/%s/caPools/%s", projectId, location, caPoolId)

	// Create the ListCertificatesRequest.
	// See https://pkg.go.dev/cloud.google.com/go/security/privateca/apiv1/privatecapb#ListCertificatesRequest.
	req := &privatecapb.ListCertificatesRequest{Parent: fullCaName}

	it := caClient.ListCertificates(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("unable to get the list of cerficates: %w", err)
		}

		fmt.Fprintf(w, " - %s (common name: %s)", resp.Name,
			resp.CertificateDescription.SubjectDescription.Subject.CommonName)
	}

	return nil
}

Java

Para se autenticar no serviço de AC, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.security.privateca.v1.CaPoolName;
import com.google.cloud.security.privateca.v1.Certificate;
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient;
import java.io.IOException;

public class ListCertificates {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // location: For a list of locations, see:
    // https://cloud.google.com/certificate-authority-service/docs/locations
    // poolId: Id of the CA pool which contains the certificates to be listed.
    String project = "your-project-id";
    String location = "ca-location";
    String poolId = "ca-pool-id";
    listCertificates(project, location, poolId);
  }

  // List Certificates present in the given CA pool.
  public static void listCertificates(String project, String location, String poolId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `certificateAuthorityServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (CertificateAuthorityServiceClient certificateAuthorityServiceClient =
        CertificateAuthorityServiceClient.create()) {

      CaPoolName caPool =
          CaPoolName.newBuilder()
              .setProject(project)
              .setLocation(location)
              .setCaPool(poolId)
              .build();

      // Retrieve and print the certificate names.
      System.out.println("Available certificates: ");
      for (Certificate certificate :
          certificateAuthorityServiceClient.listCertificates(caPool).iterateAll()) {
        System.out.println(certificate.getName());
      }
    }
  }
}

Python

Para se autenticar no serviço de AC, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import google.cloud.security.privateca_v1 as privateca_v1


def list_certificates(
    project_id: str,
    location: str,
    ca_pool_name: str,
) -> None:
    """
    List Certificates present in the given CA pool.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        location: location you want to use. For a list of locations, see: https://cloud.google.com/certificate-authority-service/docs/locations.
        ca_pool_name: name of the CA pool which contains the certificates to be listed.
    """

    caServiceClient = privateca_v1.CertificateAuthorityServiceClient()

    ca_pool_path = caServiceClient.ca_pool_path(project_id, location, ca_pool_name)

    # Retrieve and print the certificate names.
    print(f"Available certificates in CA pool {ca_pool_name}:")
    for certificate in caServiceClient.list_certificates(parent=ca_pool_path):
        print(certificate.name)

Veja todos os certificados emitidos no seu projeto

Consola

  1. Na Google Cloud consola, aceda à página Serviço de autoridade de certificação.

    Aceda ao serviço de autoridade de certificação

  2. Clique no separador Gestor de certificados privados.

    É apresentada uma lista de certificados na página Todos os certificados.

    Os detalhes apresentados incluem o estado do certificado, a AC emissora, o conjunto de ACs que contém a AC, a data de validade do certificado e muito mais. Pode filtrar os certificados através de qualquer um dos parâmetros.

Veja detalhes de um único certificado

Consola

  1. Na Google Cloud consola, aceda à página Serviço de autoridade de certificação.

    Aceda ao serviço de autoridade de certificação

  2. Escolha a CA de destino no separador Gestor de CA.

  3. Clique no nome da AC.

  4. Na parte inferior da página de detalhes da Autoridade de certificação, clique em Ver certificados emitidos para ver a lista de certificados emitidos.

  5. Clique em na coluna Ações do certificado que quer transferir.

  6. Em Transferir, clique em Certificado. Pode transferir a cadeia de certificados clicando em Cadeia de certificados.

gcloud

Para ver a descrição completa de um certificado, execute o seguinte comando:

gcloud privateca certificates describe CERT_NAME --issuer-pool POOL_ID --issuer-location ISSUER_LOCATION

Para mais informações sobre o comando gcloud privateca certificates describe command, consulte gcloud privateca certificates describe.

Para exportar a cadeia de certificados X.509 codificada em PEM e para um ficheiro, execute o comando seguinte:

gcloud privateca certificates export CERT_NAME \
    --issuer-pool POOL_ID \
    --issuer-location ISSUER_LOCATION \
    --include-chain \
    --output-file certificate-file

Para mais informações sobre o comando gcloud privateca certificates export, consulte gcloud privateca certificates export.

Prova de posse para certificados

A prova de posse da chave privada garante que o requerente de um certificado tem a chave privada desse certificado. O serviço de AC verifica a prova de posse apenas se o requerente fornecer um CSR PKCS n.º 10 de acordo com a RFC 2986. A prova de posse para outras formas de pedidos de certificados, como pedidos por CertificateConfig não é aplicada.

É da responsabilidade das aplicações cliente que aceitam certificados validar se o titular do certificado possui a chave privada desse certificado. A aplicação de verificações de prova de posse durante a emissão de certificados é uma forma de defesa em profundidade para proteção contra clientes com comportamento inadequado. A existência destes clientes, independentemente de a AC verificar a prova de posse, pode constituir uma vulnerabilidade de segurança.

O que se segue?