Ver certificados emitidos

Nesta página, explicamos como acessar os certificados emitidos usando o console do Google Cloud. Google Cloud CLI e bibliotecas de cliente do Cloud.

Ver certificados emitidos

Console

  1. No console do Google Cloud, acesse a página Certificate Authority Service.

    Acesse Certificate Authority Service

  2. Clique na guia Gerente de CAs.

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

  4. Na parte de baixo da página de detalhes da Autoridade de certificação, clique em Acessar certificados emitidos para acessar a lista de certificados emitidos por CA.

    Uma lista de certificados vai aparecer na página Todos os certificados. O são mostrados o status do certificado, a AC emissora, o pool de ACs que contenha a AC, a data de validade do certificado e outras informações.

gcloud

Para listar todos os certificados emitidos por uma AC específica em um pool de ACs, use o seguinte comando gcloud:

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

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

Para listar todos os certificados em todas as ACs em um determinado local, use o seguinte comando gcloud:

gcloud privateca certificates list --location LOCATION

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.

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 autenticar no serviço de CA, configure o Application Default Credentials. Para mais informações, consulte Configurar 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 autenticar no serviço de CA, configure o Application Default Credentials. Para mais informações, consulte Configurar 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)

Mais detalhes de um único certificado

Console

  1. No console do Google Cloud, acesse a página Certificate Authority Service.

    Acesse Certificate Authority Service

  2. Escolha a AC de destino na guia Gerenciador de AC.

  3. Clique no nome da CA.

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

  5. Clique em na coluna Ações do certificado que você quer fazer o download.

  6. Em Fazer o download, clique em Certificado. Você pode fazer o download cadeia de certificados clicando em Cadeia de certificados.

gcloud

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

gcloud privateca certificates describe CERT_NAME \
    --issuer-pool POOL_ID

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

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

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

Para mais informações sobre o comando gcloud privateca certificates export, consulte Exportação de certificados do gcloud privateca.

Comprovante de posse de certificados

A prova de posse da chave privada garante que o solicitante de um certificado detém a chave privada desse certificado. O serviço de AC verifica a prova de posse somente se o solicitante fornecer um CSR PKCS #10 de acordo com a RFC 2986. Comprovante de posse para outras formas de solicitação de certificado, como solicitações feitas por CertificateConfig não é aplicada.

É responsabilidade dos aplicativos clientes que aceitam certificados para validar se o detentor 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 detalhada para proteger contra clientes mal comportados. A existência desses clientes, independentemente de a AC verificar a comprovação de posse, poderá uma vulnerabilidade de segurança.

A seguir