Meminta sertifikat menggunakan Public CA dan klien ACME

Tutorial ini akan memandu Anda meminta sertifikat TLS dengan Otoritas Sertifikat Publik menggunakan Google Cloud CLI. Untuk mengetahui informasi tentang CA root dan CA perantara yang digunakan oleh Public Certificate Authority, lihat Google Trust Services. Tidak ada biaya untuk meminta sertifikat dari CA Publik.

Sebelum memulai

  • After installing the Google Cloud CLI, initialize it by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  • Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  • Pastikan Anda memiliki peran IAM Public CA External Account Key Creator (roles/publicca.externalAccountKeyCreator).

    Untuk memberikan peran ini, jalankan perintah berikut:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:USER \
      --role=roles/publicca.externalAccountKeyCreator
    

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • USER: ID unik pengguna yang ingin Anda beri peran IAM

    Untuk mengetahui informasi tentang cara memberikan peran IAM, lihat Mengelola akses ke project, folder, dan organisasi.

  • Enable the Public CA API:

    gcloud services enable publicca.googleapis.com

Menginstal klien

Untuk mulai menggunakan CA Publik, Anda harus menginstal klien ACME. Petunjuk berikut menggunakan Certbot sebagai klien ACME. Anda dapat menggunakan klien ACME lain jika klien tersebut mendukung pengikatan akun eksternal (EAB).

Untuk menginstal Certbot, lihat petunjuk Certbot.

Pastikan untuk mengarahkan klien Anda ke server CA Publik. Saat pertama kali berinteraksi dengan CA Publik, klien ACME akan membuat pasangan kunci baru dan mengirim kunci publik ke CA Publik.

Meminta ID kunci dan HMAC EAB

Setelah menginstal klien ACME, Anda harus mendaftarkan akun ACME Anda dengan CA Publik untuk meminta sertifikat dari CA Publik. Rahasia EAB dapat membantu Anda mendaftarkan akun ACME Anda dengan CA Publik. Rahasia EAB terdiri dari ID kunci dan kode autentikasi pesan (HMAC) berbasis hash.

Anda dapat menggunakan Public CA API atau Google Cloud CLI untuk meminta secret EAB.

Untuk meminta ID kunci EAB dan HMAC, jalankan perintah berikut:

gcloud publicca external-account-keys create

Perintah ini akan menampilkan rahasia EAB yang valid di lingkungan produksi CA Publik. Di isi respons, kolom keyId berisi ID kunci EAB, dan kolom b64MacKey berisi HMAC EAB.

Anda harus menggunakan rahasia EAB dalam waktu 7 hari setelah mendapatkannya. Rahasia EAB akan dibatalkan jika Anda tidak menggunakannya dalam waktu 7 hari. Akun ACME yang didaftarkan menggunakan secret EAB tidak memiliki masa berlaku.

Mendaftarkan akun ACME

Bagian ini menjelaskan cara mendaftarkan akun ACME dengan CA Publik dengan memberikan rahasia EAB yang baru saja Anda dapatkan.

Gunakan klien ACME biasa untuk mendaftarkan akun ACME, dan berikan ID kunci EAB dan HMAC saat mendaftar.

Untuk mendaftarkan akun ACME dengan CA Publik dan mengikat akun ACME ke Google Cloud project yang Anda gunakan untuk meminta rahasia EAB, jalankan perintah berikut:

certbot register \
    --email "EMAIL_ADDRESS" \
    --no-eff-email \
    --server "SERVER" \
    --eab-kid "EAB_KID" \
    --eab-hmac-key "EAB_HMAC_KEY"

Ganti kode berikut:

  • EMAIL_ADDRESS: alamat email Anda
  • SERVER: URL direktori ACME untuk lingkungan produksi atau penyiapan
  • EAB_KID: ID kunci EAB
  • EAB_HMAC_KEY: kunci HMAC EAB

Tabel berikut memberikan deskripsi dan URL direktori ACME untuk lingkungan produksi dan penyiapan:

Lingkungan Deskripsi URL direktori ACME
Produksi Lingkungan produksi memungkinkan Anda mendapatkan sertifikat yang dipercaya secara publik. https://dv.acme-v02.api.pki.goog/directory
Staging Lingkungan penyiapan menampilkan sertifikat yang tidak dipercaya secara publik. Lingkungan staging melakukan pemeriksaan validasi yang sama dengan lingkungan produksi. Anda dapat menggunakan lingkungan staging untuk integrasi atau jenis pengujian lainnya. https://dv.acme-v02.test-api.pki.goog/directory

Anda hanya dapat mendaftarkan satu akun ACME dengan rahasia EAB. Setelah Anda mendaftarkan akun ACME menggunakan rahasia EAB, rahasia EAB menjadi tidak valid dan Anda tidak dapat menggunakannya kembali. Jika ingin mendaftarkan beberapa akun ACME, Anda harus meminta rahasia EAB unik untuk setiap akun.

Minta sertifikat

Setelah CA Publik memvalidasi kontrol Anda atas target sertifikat dan mengonfirmasi bahwa klien ACME Anda berfungsi seperti yang diharapkan untuk melakukan operasi pengelolaan sertifikat, Anda dapat menggunakan alur kerja ACME biasa untuk meminta, memperpanjang, dan mencabut sertifikat. Anda dapat melakukan operasi ini menggunakan klien ACME Anda. Untuk meminta dan memperpanjang sertifikat, Anda harus menyelesaikan tantangan ACME, seperti tantangan DNS manual.

Untuk menggunakan tantangan DNS manual guna meminta sertifikat, jalankan perintah berikut:

certbot certonly \
    --manual \
    --preferred-challenges "dns-01" \
    --server "SERVER" \
    --domains "DOMAINS"

Ganti kode berikut:

  • SERVER: URL direktori ACME untuk lingkungan produksi atau staging
  • DOMAINS: daftar domain yang dipisahkan koma yang sertifikatnya Anda minta

Pembersihan

Jika Anda tidak lagi memerlukan sertifikat untuk domain Anda, hapus project yang Anda buat.

Staging

Anda dapat menggunakan lingkungan staging CA Publik untuk meminta sertifikat untuk tujuan pengujian. Sertifikat yang dikeluarkan oleh lingkungan staging dirantai hingga CA root pengujian. Sertifikat dari lingkungan penyiapan tidak akan dipercayai oleh Browser atau klien lain yang belum dikonfigurasi untuk memercayai sertifikat root penyiapan. Untuk mendapatkan secret EAB yang valid di lingkungan staging, ganti endpoint API untuk menggunakan endpoint untuk lingkungan staging:

gcloud config set api_endpoint_overrides/publicca https://preprod-publicca.googleapis.com/
Kemudian, jalankan perintah pembuatan kunci akun untuk membuat kunci penyiapan:
gcloud publicca external-account-keys create
Untuk kembali ke endpoint untuk lingkungan produksi, jalankan perintah berikut:
gcloud config unset api_endpoint_overrides/publicca

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID

Langkah berikutnya