Melihat sertifikat yang diterbitkan

Halaman ini menjelaskan cara melihat sertifikat yang diterbitkan menggunakan Konsol Google Cloud, Google Cloud CLI, dan Library Klien Cloud.

Melihat sertifikat yang diterbitkan

Konsol

  1. Di konsol Google Cloud, buka halaman Certificate Authority Service.

    Buka Certificate Authority Service

  2. Klik tab CA manager.

  3. Di halaman Certificate authority, klik nama CA.

  4. Di bagian bawah halaman detail Certificate authority, klik Lihat sertifikat yang diterbitkan untuk melihat daftar sertifikat yang diterbitkan oleh CA.

    Daftar sertifikat muncul di halaman Semua sertifikat. Tujuan detail yang ditampilkan mencakup status sertifikat, CA penerbit, kumpulan CA yang berisi CA, tanggal kedaluwarsa sertifikat, dan banyak lagi.

gcloud

Untuk menampilkan daftar semua sertifikat yang diterbitkan oleh CA tertentu dalam kumpulan CA, gunakan perintah gcloud berikut:

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

Untuk mengetahui informasi selengkapnya tentang perintah gcloud privateca certificates list, lihat gcloud privateca certificate list.

Untuk menampilkan daftar semua sertifikat di semua CA di lokasi tertentu, gunakan perintah gcloud berikut:

gcloud privateca certificates list --location LOCATION

Go

Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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

Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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)

Melihat detail untuk satu sertifikat

Konsol

  1. Di konsol Google Cloud, buka halaman Certificate Authority Service.

    Buka Certificate Authority Service

  2. Pilih CA target di bagian tab CA Manager.

  3. Klik nama CA.

  4. Di bagian bawah halaman detail Certificate authority, klik Lihat sertifikat yang diterbitkan untuk melihat daftar sertifikat yang diterbitkan.

  5. Klik di kolom Tindakan untuk sertifikat yang ingin didownload.

  6. Di bagian Download, klik Sertifikat. Anda dapat mendownload rantai sertifikat dengan mengklik Rantai sertifikat.

gcloud

Untuk melihat deskripsi lengkap sertifikat, jalankan perintah berikut:

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

Untuk mengetahui informasi selengkapnya tentang perintah gcloud privateca certificates describe, lihat gcloud privateca certificate explain.

Untuk mengekspor rantai sertifikat X.509 berenkode PEM dan ke file, jalankan metode perintah berikut:

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

Untuk mengetahui informasi selengkapnya tentang perintah gcloud privateca certificates export, lihat gcloud privateca certificate export.

Bukti kepemilikan sertifikat

Bukti kepemilikan kunci pribadi memastikan bahwa pemohon sertifikat menyimpan kunci pribadi untuk sertifikat tersebut. Layanan CA akan memeriksa bukti kepemilikan hanya jika pemohon memberikan CSR PKCS #10 sesuai dengan RFC 2986. Bukti kepemilikan untuk bentuk permintaan sertifikat lainnya, seperti permintaan oleh CertificateConfig tidak diberlakukan.

Aplikasi klien yang menerima sertifikat bertanggung jawab memvalidasi apakah pemegang sertifikat memiliki kunci pribadi tersebut CA {i>root<i}. Menegakkan cek bukti kepemilikan selama penerbitan sertifikat suatu bentuk pertahanan mendalam untuk melindungi dari klien yang berperilaku tidak semestinya. Keberadaan klien tersebut, terlepas dari apakah CA memeriksa bukti kepemilikan, dapat menyebabkan kerentanan keamanan.

Langkah selanjutnya