Meminta sertifikat dan melihat sertifikat yang diterbitkan
Topik ini menjelaskan cara meminta sertifikat dari Certificate Authority Service dan melihat sertifikat yang diterbitkan.
Sebelum memulai
Pastikan Anda memiliki peran Pemohon Sertifikat Layanan CA
(roles/privateca.certificateRequester
) atau peran IAM
Pengelola Sertifikat Layanan CA (roles/privateca.certificateManager
). Untuk mengetahui informasi selengkapnya tentang peran IAM yang telah ditetapkan untuk Layanan CA, lihat Kontrol akses dengan IAM.
Untuk mengetahui informasi tentang cara memberikan peran IAM kepada akun utama, lihat Memberikan satu peran.
Ringkasan
Anda dapat meminta sertifikat menggunakan metode berikut:
- Buat kunci pribadi atau publik Anda sendiri dan kirimkan Permintaan Penandatanganan Sertifikat (CSR).
- Minta CA Service membuat kunci pribadi atau kunci publik untuk Anda.
- Menggunakan kunci Cloud Key Management Service (Cloud KMS) yang sudah ada.
Meminta sertifikat menggunakan CSR
Sebelum melanjutkan, Anda harus membuat CSR. Setelah membuat CSR, lakukan hal berikut:
Konsol
Buka halaman Certificate Authority Service di Konsol Google Cloud.
Klik tab Pengelola CA.
Klik nama CA yang ingin Anda terbitkan.
Di bagian bawah halaman detail CA, klik Minta sertifikat.
Opsional: Jika Anda ingin menggunakan certificate template, klik , pilih template dari daftar, lalu klik Save.
Klik Provide CSR.
Opsional: Untuk menimpa nama sertifikat yang dibuat secara otomatis, masukkan nama kustom di kolom Nama sertifikat.
Opsional: Guna memilih periode validitas kustom untuk sertifikat, masukkan nilai di kolom Valid for.
Salin dan tempel CSR Anda ke kotak Certificate CSR. Untuk mengupload CSR, klik Browse.
Klik Next.
Download sertifikat yang ditandatangani
- Untuk menyalin sertifikat, klik
.crt
, klik Download sertifikat.
.
Untuk mendownload sertifikat dalam bentuk file - Opsional: Untuk mendownload rantai sertifikat, klik Download rantai sertifikat.
- Klik Done.
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--csr CSR_FILENAME \
--cert-output-file CERT_FILENAME \
--validity "P30D"
Ganti kode berikut:
- CERT_ID: ID unik sertifikat.
- POOL_ID: Nama kumpulan CA.
- CSR_FILENAME: File yang menyimpan CSR berenkode PEM.
Flag --validity
menentukan durasi sertifikat valid. Tanda ini merupakan tanda opsional yang nilai defaultnya adalah 30 hari.
Untuk mengetahui informasi selengkapnya tentang perintah gcloud privateca certificates create
, lihat gcloud privateca certificate create.
Terraform
REST API
Buat Permintaan Penandatanganan Sertifikat (CSR) menggunakan metode pilihan Anda, seperti
openssl
.Berikut adalah contoh CSR yang dienkode untuk JSON.
-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ8wDQYDVQQK\nDAZKb29uaXgxEzARBgNVBAMMCmpvb25peC5uZXQwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCnyy+5vcRQUBPqAse3ojmWjyUvhcJK6eLRXpp0teEUF5kg\nHb2ov8gYXb9sSim5fnvs09dGYDKibSrL4Siy7lA/NzMzWtKwyQQeLIQq/cLUJVcd\ndItJ0VRcqr+UPkTCii2vrdcocNDChHM1J8chDdl6DkpYieSTqZwlPcWlQBGAINmT\nT3Q0ZarIVM5l74j13WPuToGrhbVOIZXWxWqJjlHbBA8B/VKtSRCzM1qG60y8Pu2f\n6c78Dfg8+CGRzGwnz8aFS0Yf9czT9luNHSadS/RHjvE9FPZCsinz+6mJlXRcphi1\nKaHsDbstUAhse1h5E9Biyr9SFYRHxY7qRv9aSJ/dAgMBAAGgADANBgkqhkiG9w0B\nAQsFAAOCAQEAZz+I9ff1Rf3lTewXRUpA7nr5HVO1ojCR93Pf27tI/hvNH7z7GwnS\noScoJlClxeRqABOCnfmVoRChullb/KmER4BZ/lF0GQpEtbqbjgjkEDpVlBKCb0+L\nHE9psplIz6H9nfFS3Ouoiodk902vrMEh0LyDYNQuqFoyCZuuepUlK3NmtmkexlgT\n0pJg/5FV0iaQ+GiFXSZhTC3drfiM/wDnXGiqpbW9WmebSij5O+3BNYXKBUgqmT3r\nbryFydNq4qSOIbnN/MNb4UoKno3ve7mnGk9lIDf9UMPvhl+bT7C3OLQLGadJroME\npYnKLoZUvRwEdtZpbNL9QhCAm2QiJ6w+6g==\n-----END CERTIFICATE REQUEST-----
Minta sertifikat.
Metode HTTP dan URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates?certificate_id=CERTIFICATE_ID
Meminta isi JSON:
{ "lifetime": { "seconds": 3600, "nanos": 0 }, "pem_csr": "PEM_CSR" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/project-id/locations/location/certificateAuthorities/ca-id/certificates/certificate-id", "pemCertificate": "-----BEGIN CERTIFICATE-----...", "certificateDescription": {...} }
Minta sertifikat menggunakan kunci yang dibuat secara otomatis
Konsol
Anda dapat menggunakan konsol Google Cloud untuk membuat sertifikat TLS klien atau server.
Di konsol Google Cloud, buka halaman Certificate Authority Service.
Klik tab Pengelola CA.
Klik nama CA yang ingin Anda terbitkan.
Di bagian bawah halaman detail Certificate authority, klik Request a certificate.
Opsional: Jika Anda ingin menggunakan certificate template, klik , pilih template dari daftar, lalu klik Save.
Klik Masukkan detail.
Opsional: Ganti Nama sertifikat yang dibuat secara otomatis dengan nama kustom yang unik.
Opsional: Guna memilih periode validitas kustom untuk sertifikat, masukkan nilai di kolom Valid for.
Tambahkan nama domain
- Di bagian Add domain name, masukkan nama domain di kolom Domain name 1.
- Opsional: Jika Anda ingin menambahkan lebih dari satu nama domain, klik Tambahkan Item, lalu masukkan nama domain lain di kolom Nama domain 2.
Penggunaan kunci yang diperpanjang
Opsional: Di bagian Extended key usage, pilih antara opsi berikut berdasarkan kasus penggunaan Anda:
- TLS Server: Sertifikat ini memungkinkan Anda mengautentikasi identitas server.
- TLS klien: Sertifikat ini memungkinkan Anda mengautentikasi identitas pemohon.
Klik Next.
Mengonfigurasi ukuran dan algoritma kunci
- Opsional: Di bagian Configure key size and algorithm, pilih ukuran kunci penandatanganan dan algoritma dari daftar. Jika Anda melewati langkah ini, kunci 2048 bit RSASA-PSS dengan ringkasan SHA 256 akan digunakan. Untuk mengetahui informasi tentang memilih kunci penandatanganan dan algoritma, lihat Memilih algoritma kunci.
- Klik Lanjutkan.
Download sertifikat yang ditandatangani
- Opsional: Untuk mendownload rantai sertifikat yang dienkode ke PEM, klik Download rantai sertifikat.
Opsional: Untuk mendownload kunci pribadi terkait yang dienkode ke PEM, klik Download kunci pribadi.
Klik Done.
gcloud
Untuk menggunakan fitur kunci yang dibuat secara otomatis, Anda perlu menginstal library Python Cryptographic Authority (PyCA). Untuk petunjuk tentang cara menginstal library kriptografi Pyca, lihat Menyertakan library kriptografi Pyca.
Untuk membuat sertifikat, gunakan perintah gcloud
berikut:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "CERTIFICATE_PROFILE"
Ganti kode berikut:
- POOL_ID: Nama kumpulan CA.
- KEY_FILENAME: Jalur tempat file kunci pribadi yang dihasilkan harus ditulis.
- CERT_FILENAME: Jalur tempat file rantai sertifikat yang dienkode PE harus ditulis. Rantai sertifikat diurutkan dari entitas akhir ke {i>root<i}.
- DNS_NAME: Satu atau beberapa nama alternatif subjek DNS (SAN) yang dipisahkan koma.
- CERTIFICATE_PROFILE: ID unik
profil sertifikat.
Misalnya, gunakan
leaf_server_tls
untuk TLS server entity akhir.
Perintah gcloud
menyebutkan flag berikut:
--generate-key
: Membuat kunci pribadi RSA-2048 baru di komputer Anda.
Anda juga dapat menggunakan kombinasi flag berikut:
--dns-san
: Memungkinkan Anda meneruskan satu atau beberapa SAN DNS yang dipisahkan koma.--ip-san
: Memungkinkan Anda meneruskan satu atau beberapa SAN IP yang dipisahkan koma.--uri-san
: Memungkinkan Anda meneruskan satu atau beberapa SAN URI yang dipisahkan koma.--subject
: Memungkinkan Anda meneruskan nama X.501 subjek sertifikat.
Untuk mengetahui informasi selengkapnya tentang perintah gcloud privateca certificates create
, lihat gcloud privateca certificate create.
Go
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Meminta sertifikat menggunakan kunci Cloud KMS yang ada
Untuk menggunakan kunci Cloud KMS guna membuat sertifikat TLS server entity akhir, jalankan perintah berikut:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Ganti kode berikut:
- POOL_ID: Nama kumpulan CA.
- PROJECT_ID: Project ID.
- LOCATION_ID: Lokasi key ring.
- KEY_RING: Nama key ring tempat kunci tersebut berada.
- KEY: Nama kunci.
- KEY_VERSION: Versi kunci.
- CERT_FILENAME: Jalur file rantai sertifikat yang dienkode ke PEM. File rantai sertifikat diurutkan dari entity akhir ke root.
- DNS_NAME: SAN DNS yang dipisahkan koma.
Menjalankan operasi umum dengan sertifikat
Bagian ini menjelaskan cara melakukan operasi umum tertentu dengan sertifikat.
Menerbitkan sertifikat dari CA tertentu dalam kumpulan CA
gcloud
Untuk menargetkan CA tertentu dalam kumpulan CA untuk penerbitan sertifikat, tambahkan flag --ca
dengan CA_ID CA yang harus menerbitkan sertifikat.
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--ca CA_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Konsol
Konsol Google Cloud hanya mendukung penerbitan sertifikat dari CA tertentu. Ikuti petunjuk di bagian Minta sertifikat menggunakan Kunci yang dibuat otomatis atau bagian Minta sertifikat menggunakan CSR untuk memilih CA yang harus menerbitkan sertifikat.
Terraform
Lihat sertifikat yang diterbitkan
Konsol
Di konsol Google Cloud, buka halaman Certificate Authority Service.
Klik tab Pengelola CA.
Di halaman Certificate authority, klik nama CA.
Di bagian bawah halaman detail Certificate authority, klik Lihat sertifikat yang diterbitkan untuk melihat daftar sertifikat yang diterbitkan oleh CA.
Anda dapat melihat sertifikat di halaman Semua sertifikat. Detailnya mencakup status sertifikat, CA yang menerbitkan, kumpulan CA yang berisi CA, tanggal habis masa berlaku sertifikat, dan lainnya.
gcloud
Untuk mencantumkan 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 mencantumkan 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Melihat detail untuk satu sertifikat
Konsol
Di konsol Google Cloud, buka halaman Certificate Authority Service.
Pilih CA target di tab Pengelola CA.
Klik nama CA.
Di bagian bawah halaman detail Otoritas sertifikat, klik Lihat sertifikat yang diterbitkan untuk melihat daftar sertifikat yang diterbitkan.
Klik
di kolom Tindakan untuk sertifikat yang ingin didownload.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 lebih lanjut tentang perintah gcloud privateca certificates describe
, lihat gcloud privateca certificate explain.
Untuk mengekspor rantai sertifikat X.509 berenkode PEM ke file, jalankan 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 ekspor sertifikat gcloud privateca.
Bukti kepemilikan sertifikat
Bukti kepemilikan kunci pribadi memastikan bahwa pemohon sertifikat memegang kunci pribadi untuk sertifikat tersebut. CA Service akan memeriksa bukti kepemilikan hanya jika pemohon memberikan CSR PKCS #10 sesuai dengan RFC 2986. Bukti kepemilikan untuk bentuk permintaan sertifikat lainnya, seperti permintaan dari CertificateConfig tidak diterapkan.
Aplikasi klien yang menerima sertifikat bertanggung jawab untuk memvalidasi apakah pemegang sertifikat memiliki kunci pribadi dari sertifikat tersebut. Menegakkan pemeriksaan bukti kepemilikan selama penerbitan sertifikat adalah bentuk pertahanan mendalam untuk memberikan perlindungan dari klien yang berperilaku tidak semestinya. Keberadaan klien tersebut, terlepas dari apakah CA memeriksa bukti kepemilikan atau tidak, dapat merupakan kerentanan keamanan.
Langkah selanjutnya
- Pelajari tentang profil sertifikat.
- Pelajari cara mencabut sertifikat.
- Pelajari cara mengurutkan dan memfilter sertifikat.
- Pelajari cara mengelola sertifikat menggunakan Google Cloud CLI.