Afficher les certificats émis

Cette page explique comment afficher les certificats émis à l'aide de la console Google Cloud, de Google Cloud CLI et des bibliothèques clientes Cloud.

Afficher les certificats émis

Console

  1. Dans la console Google Cloud, accédez à la page Certificate Authority Service.

    Accéder à Certificate Authority Service

  2. Cliquez sur l'onglet Gestionnaire d'autorités de certification.

  3. Sur la page Autorités de certification, cliquez sur le nom de l'autorité de certification.

  4. En bas de la page d'informations sur l'autorité de certification, cliquez sur Afficher les certificats émis pour afficher la liste des certificats émis par l'autorité de certification.

    Une liste de certificats s'affiche sur la page Tous les certificats. Les détails affichés incluent l'état du certificat, l'autorité de certification émettrice, le pool d'autorités de certification qui contient l'autorité de certification, la date d'expiration du certificat, etc.

gcloud

Pour lister tous les certificats émis par une autorité de certification spécifique dans un pool d'autorités de certification, exécutez la commande gcloud suivante :

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

Pour en savoir plus sur la commande gcloud privateca certificates list, consultez la page gcloud privateca certificates list.

Pour répertorier tous les certificats de toutes les autorités de certification d'un emplacement donné, utilisez la commande gcloud suivante:

gcloud privateca certificates list --location LOCATION

Go

Pour vous authentifier auprès du service CA, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Pour vous authentifier auprès du service d'autorité de certification, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Pour vous authentifier auprès du service CA, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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)

Afficher les détails d'un seul certificat

Console

  1. Dans la console Google Cloud, accédez à la page Certificate Authority Service.

    Accéder à Certificate Authority Service

  2. Sélectionnez votre autorité de certification cible dans l'onglet Gestionnaire d'autorités de certification.

  3. Cliquez sur le nom de l'autorité de certification.

  4. Au bas de la page d'informations Autorité de certification, cliquez sur Afficher les certificats émis pour afficher la liste des certificats émis.

  5. Cliquez sur dans la colonne Actions correspondant au certificat que vous souhaitez télécharger.

  6. Sous Télécharger, cliquez sur Certificat. Vous pouvez télécharger la chaîne de certificats en cliquant sur Chaîne de certificats.

gcloud

Pour afficher la description complète d'un certificat, exécutez la commande suivante :

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

Pour plus d'informations sur la commande gcloud privateca certificates describe, consultez gcloud privateca Certificate describe.

Pour exporter la chaîne de certificats X.509 encodée au format PEM vers un fichier, exécutez la commande suivante :

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

Pour plus d'informations sur la commande gcloud privateca certificates export, consultez la page sur gcloud privateca certificate export.

Justificatif de possession des certificats

La preuve de possession de la clé privée garantit que le demandeur certificate contient la clé privée de ce certificat. Le service CA ne vérifie la preuve de possession que si le demandeur fournit une CSR PKCS #10 conformément à la RFC 2986. La preuve de possession pour d'autres types de demandes de certificat, telles que les demandes de CertificateConfig, n'est pas appliquée.

Il incombe aux applications clientes qui acceptent les certificats de vérifier si le titulaire du certificat possède la clé privée de ce certificat. L'application de vérifications de preuve de possession lors de l'émission de certificats est une forme de défense en profondeur pour se protéger contre les clients malveillants. L'existence de ces clients, que l'autorité de certification vérifie ou non la preuve de possession, pourrait constituent une faille de sécurité.

Étape suivante