Ausgestellte Zertifikate ansehen

Auf dieser Seite wird beschrieben, wie Sie die ausgestellten Zertifikate über die Google Cloud Console, die Google Cloud CLI und die Cloud-Clientbibliotheken ansehen können.

Sie können nur Zertifikate ansehen, die von Enterprise tier CAs der Enterprise-Stufe ausgestellt wurden.

Ausgestellte Zertifikate ansehen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.

    Zum Certificate Authority Service

  2. Klicken Sie auf den Tab CA Manager.

  3. Klicken Sie auf der Seite Zertifizierungsstellen auf den Namen der CA.

  4. Klicken Sie unten auf der Seite mit den Details zur Zertifizierungsstelle auf Ausgestellte Zertifikate ansehen, um die Liste der von der CA ausgestellten Zertifikate aufzurufen.

    Auf der Seite Alle Zertifikate wird eine Liste der Zertifikate angezeigt. Die angezeigten Details umfassen den Status des Zertifikats, die ausstellende CA, den CA-Pool, der die CA enthält, das Ablaufdatum des Zertifikats und mehr.

gcloud

Verwenden Sie den folgenden gcloud-Befehl, um alle Zertifikate aufzulisten, die von einer bestimmten CA in einem CA-Pool ausgestellt wurden:

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

Weitere Informationen zum Befehl gcloud privateca certificates list finden Sie unter gcloud privateca certificates list.

Verwenden Sie den folgenden gcloud-Befehl, um alle Zertifikate für alle CAs an einem bestimmten Standort aufzulisten:

gcloud privateca certificates list --location LOCATION

Go

Richten Sie zur Authentifizierung beim CA Service die Standardanmeldedaten für Anwendungen (ADC) ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Richten Sie zur Authentifizierung beim CA Service die Standardanmeldedaten für Anwendungen (ADC) ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


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

Richten Sie zur Authentifizierung beim CA Service die Standardanmeldedaten für Anwendungen (ADC) ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


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)

Alle in Ihrem Projekt ausgestellten Zertifikate ansehen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.

    Zum Certificate Authority Service

  2. Klicken Sie auf den Tab Private Certificate Manager.

    Auf der Seite Alle Zertifikate wird eine Liste der Zertifikate angezeigt.

    Die angezeigten Details umfassen den Status des Zertifikats, die ausstellende CA, den CA-Pool, der die CA enthält, das Ablaufdatum des Zertifikats und mehr. Sie können die Zertifikate mit einem der Parameter filtern.

Details zu einem einzelnen Zertifikat ansehen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.

    Zum Certificate Authority Service

  2. Wählen Sie auf dem Tab CA Manager die Ziel-CA aus.

  3. Klicken Sie auf den Namen der CA.

  4. Klicken Sie unten auf der Seite mit den Details zur Zertifizierungsstelle auf Ausgestellte Zertifikate ansehen, um die Liste der ausgestellten Zertifikate aufzurufen.

  5. Klicken Sie in der Spalte Aktionen für das Zertifikat, das Sie herunterladen möchten, auf .

  6. Klicken Sie unter Herunterladen auf Zertifikat. Sie können die Zertifikatskette herunterladen, indem Sie auf Zertifikatskette klicken.

gcloud

Führen Sie den folgenden Befehl aus, um die vollständige Beschreibung eines Zertifikats aufzurufen:

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

Weitere Informationen zum gcloud privateca certificates describe Befehl finden Sie unter gcloud privateca certificates describe.

Führen Sie den folgenden Befehl aus, um die PEM-codierte X.509-Zertifikatskette in eine Datei zu exportieren:

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

Weitere Informationen zum Befehl gcloud privateca certificates export, finden Sie unter gcloud privateca certificates export.

Zertifikate in allen CA-Pools auflisten

Wenn Sie die API aufrufen, geben Sie den CA-Ressourcennamen mit einem Platzhalter (-) an, um alle Zertifikate in allen CA-Pools für ein bestimmtes Projekt (PROJECT_ID) und einen bestimmten Standort (LOCATION) aufzulisten.

Beispiel: projects/PROJECT_ID/locations/LOCATION/caPools/-

Nachweis des Besitzes für Zertifikate

Der Nachweis des Besitzes des privaten Schlüssels stellt sicher, dass der Anfragende eines Zertifikats den privaten Schlüssel für dieses Zertifikat besitzt. Der CA Service prüft den Nachweis des Besitzes nur, wenn der Anfragende eine PKCS #10-CSR gemäß RFC 2986bereitstellt. Der Nachweis des Besitzes für andere Formen von Zertifikatsanfragen, z. B. Anfragen per CertificateConfig wird nicht erzwungen.

Es liegt in der Verantwortung von Clientanwendungen, die Zertifikate akzeptieren, zu prüfen, ob der Zertifikatsinhaber den privaten Schlüssel dieses Zertifikats besitzt. Das Erzwingen von Nachweisen des Besitzes bei der Zertifikatsausstellung ist eine Form der mehrschichtigen Sicherheit, um sich vor fehlerhaftem Clientverhalten zu schützen. Die Existenz solcher Clients kann unabhängig davon, ob die CA den Nachweis des Besitzes prüft, eine Sicherheitslücke darstellen.

Nächste Schritte