Visualizza i certificati emessi

In questa pagina viene spiegato come visualizzare i certificati emessi utilizzando la console Google Cloud. Google Cloud CLI e librerie client di Cloud.

Visualizza i certificati emessi

Console

  1. Nella console Google Cloud, vai alla pagina Certificate Authority Service.

    Vai a Certificate Authority Service

  2. Fai clic sulla scheda CA Manager (Amministratore CA).

  3. Nella pagina Autorità di certificazione, fai clic sul nome dell'autorità di certificazione.

  4. Nella parte inferiore della pagina dei dettagli dell'Autorità di certificazione, fai clic su Visualizza certificati emessi per visualizzare l'elenco dei certificati emessi dall'Autorità di certificazione.

    Nella pagina Tutti i certificati viene visualizzato un elenco di certificati. I dettagli visualizzati includono lo stato del certificato, l'autorità di certificazione emittente, il pool di CA che contiene l'autorità di certificazione, la data di scadenza del certificato e altro ancora.

gcloud

Per elencare tutti i certificati emessi da una determinata CA in un pool di CA, utilizza il seguente comando gcloud:

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

Per ulteriori informazioni sul comando gcloud privateca certificates list, consulta gcloud privateca certificate list.

Per elencare tutti i certificati di tutte le CA in una determinata posizione, utilizza il seguente comando gcloud:

gcloud privateca certificates list --location LOCATION

Vai

Per autenticarti al servizio CA, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti al servizio CA, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


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

Per autenticarti al servizio CA, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


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)

Visualizza i dettagli di un singolo certificato

Console

  1. Nella console Google Cloud, vai alla pagina Certificate Authority Service.

    Vai a Certificate Authority Service

  2. Scegli la CA di destinazione nella scheda Gestore CA.

  3. Fai clic sul nome della CA.

  4. Nella parte inferiore della pagina dei dettagli dell'autorità di certificazione, fai clic su Visualizza i certificati emessi per visualizzare l'elenco dei certificati emessi.

  5. Fai clic su nella colonna Azioni per il certificato da scaricare.

  6. In Scarica, fai clic su Certificato. Puoi scaricare la catena di certificati facendo clic su Catena di certificati.

gcloud

Per visualizzare la descrizione completa di un certificato, esegui questo comando:

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

Per ulteriori informazioni sul comando gcloud privateca certificates describe, consulta la pagina gcloud privateca certificate describe.

Per esportare la catena di certificati X.509 con codifica PEM in un file, esegui il seguente comando:

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

Per ulteriori informazioni sul comando gcloud privateca certificates export, consulta gcloud privateca certificates export.

Prova di possesso di certificati

La prova di possesso della chiave privata garantisce che il richiedente di un se il certificato contiene la chiave privata. Servizio CA verifica la prova della proprietà solo se il richiedente fornisce un CSR PKCS #10 secondo il documento RFC 2986. La prova di possesso per altre forme di richieste di certificati, ad esempio le richieste tramite CertificateConfig, non viene applicata.

È responsabilità delle applicazioni client che accettano i certificati verificare se il titolare del certificato possiede la chiave privata del certificato. L'applicazione di controlli di prova di possesso durante l'emissione dei certificati è una forma di difesa in profondità per proteggersi dai client che si comportano male. L'esistenza di tali clienti, indipendentemente dal fatto che la CA controlli il possesso di costituiscono una vulnerabilità di sicurezza.

Passaggi successivi