Memecahkan masalah sertifikat SSL

Prosedur pemecahan masalah bergantung pada jenis sertifikat SSL yang digunakan.

Memecahkan masalah sertifikat SSL yang dikelola sendiri

Panduan ini menjelaskan cara memecahkan masalah konfigurasi untuk sertifikat SSL yang dikelola sendiri.

Sertifikat tidak dapat diuraikan

Trusted Cloud memerlukan sertifikat dalam format PEM. Jika sertifikat berformat PEM, periksa hal berikut:

Anda dapat memvalidasi sertifikat menggunakan perintah OpenSSL berikut, dengan mengganti CERTIFICATE_FILE dengan jalur ke file sertifikat Anda:

openssl x509 -in CERTIFICATE_FILE -text -noout

Jika OpenSSL tidak dapat mengurai sertifikat Anda:

Nama umum atau nama alternatif subjek tidak ada

Trusted Cloud mewajibkan sertifikat Anda memiliki salah satu atribut nama umum (CN) atau nama alternatif subjek (SAN). Lihat Membuat CSR untuk mengetahui informasi tambahan.

Jika kedua atribut tidak ada, Trusted Cloud akan menampilkan pesan error seperti berikut saat Anda mencoba membuat sertifikat yang dikelola sendiri:

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 -   The SSL certificate is missing a Common Name(CN) or Subject Alternative
   Name(SAN).

Kunci pribadi tidak dapat diuraikan

Trusted Cloud memerlukan kunci pribadi berformat PEM yang memenuhi kriteria kunci pribadi.

Anda dapat memvalidasi kunci pribadi menggunakan perintah OpenSSL berikut, dengan mengganti PRIVATE_KEY_FILE dengan jalur ke kunci pribadi Anda:

    openssl rsa -in PRIVATE_KEY_FILE -check

Respons berikut menunjukkan masalah pada kunci pribadi Anda:

  • unable to load Private Key
  • Expecting: ANY PRIVATE KEY
  • RSA key error: n does not equal p q
  • RSA key error: d e not congruent to 1
  • RSA key error: dmp1 not congruent to d
  • RSA key error: dmq1 not congruent to d
  • RSA key error: iqmp not inverse of q

Untuk memperbaiki masalah ini, Anda harus membuat kunci pribadi dan sertifikat baru.

Kunci pribadi dengan frasa sandi

Jika OpenSSL meminta frasa sandi, Anda harus menghapus frasa sandi dari kunci pribadi sebelum dapat menggunakannya dengan Trusted Cloud. Anda dapat menggunakan perintah OpenSSL berikut:

openssl rsa -in PRIVATE_KEY_FILE \
    -out REPLACEMENT_PRIVATE_KEY_FILE

Ganti placeholder dengan nilai yang valid:

  • PRIVATE_KEY_FILE: Jalur ke kunci pribadi Anda yang dilindungi dengan frasa sandi
  • REPLACEMENT_PRIVATE_KEY_FILE: Jalur tempat Anda ingin menyimpan salinan kunci pribadi teks biasa

Masa berlaku intermediate certificate akan segera berakhir

Jika masa berlaku sertifikat intermediate berakhir sebelum sertifikat server (leaf), hal ini mungkin menunjukkan bahwa CA Anda tidak mengikuti praktik terbaik.

Saat masa berlaku sertifikat intermediate berakhir, sertifikat leaf yang digunakan di Trusted Cloud mungkin menjadi tidak valid. Hal ini bergantung pada klien SSL, sebagai berikut:

  • Beberapa klien SSL hanya melihat waktu habis masa berlaku sertifikat leaf dan mengabaikan sertifikat intermediate yang telah habis masa berlakunya.
  • Beberapa klien SSL memperlakukan rantai dengan sertifikat perantara yang masa berlakunya telah habis sebagai tidak valid dan menampilkan peringatan.

Untuk menyelesaikan masalah ini:

  1. Tunggu hingga CA beralih ke sertifikat perantara baru.
  2. Minta sertifikat baru dari mereka.
  3. Upload ulang sertifikat baru dengan kunci baru.

CA Anda mungkin juga mengizinkan penandatanganan silang untuk sertifikat intermediate. Hubungi CA Anda untuk mengonfirmasi.

Eksponen publik RSA terlalu besar

Pesan error berikut muncul saat eksponen publik RSA lebih besar dari 65537. Pastikan untuk menggunakan 65537, seperti yang ditentukan dalam RFC 4871.

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 -   The RSA public exponent is too large.

Menghapus sertifikat SSL dari target-proxy

Langkah-langkah berikut menunjukkan cara menghapus satu sertifikat SSL yang dilampirkan ke proxy https target:

  1. Ekspor target-https-proxy ke file sementara.

    gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
    
  2. Edit file /tmp/proxy dan hapus baris berikut:

    sslCertificates:
    -   https://www.googleapis.com/compute/v1/projects/...
    
  3. Impor file /tmp/proxy.

    gcloud compute target-https-proxies import TARGET_PROXY_NAME \
       --source=/tmp/proxy
    
  4. Opsional: Hapus sertifikat SSL.

    gcloud compute ssl-certificates delete SSL_CERT_NAME
    

Ganti kode berikut:

  • TARGET_PROXY_NAME: nama resource proxy https target.
  • SSL_CERT_NAME: nama sertifikat SSL.