Memvalidasi rantai sertifikat

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Dokumen ini menjelaskan cara memvalidasi rantai sertifikat sebelum Anda menguploadnya ke keystore atau truststore di Apigee Edge. Proses ini bergantung pada Toolkit OpenSSL untuk memvalidasi sertifikat dan berlaku pada setiap lingkungan tempat OpenSSL tersedia.

Sebelum memulai

Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:

  • Jika Anda tidak terbiasa dengan rantai sertifikat, baca Rantai kepercayaan.
  • Jika Anda tidak terbiasa dengan perpustakaan OpenSSL, baca OpenSSL.
  • Jika Anda ingin menggunakan contoh baris perintah dalam panduan ini, instal atau perbarui versi terbaru klien OpenSSL.
  • Pastikan sertifikat dalam format PEM. Jika sertifikat tidak dalam format PEM, gunakan petunjuk di Mengonversi sertifikat ke format yang didukung untuk mengonversinya menjadi format PEM.

Memvalidasi subjek dan penerbit sertifikat untuk rantai lengkap

Untuk memvalidasi rantai sertifikat menggunakan perintah OpenSSL, selesaikan langkah-langkah yang dijelaskan dalam bagian bagian berikut:

Memisahkan rantai sertifikat

Sebelum memvalidasi sertifikat, Anda perlu membagi rantai sertifikat menjadi bagian terpisah sertifikat menggunakan langkah-langkah berikut:

  1. Login ke server tempat klien OpenSSL berada.
  2. Bagi rantai sertifikat ke dalam sertifikat berikut (jika belum dilakukan):
    • Sertifikat entitas: entity.pem
    • Sertifikat menengah: intermediate.pem
    • Root certificate: root.pem

Gambar berikut menunjukkan contoh rantai sertifikat:

alur rantai sertifikat: Sertifikat identitas ke Sertifikat menengah ke Sertifikat root

Memverifikasi subjek dan penerbit sertifikat

Bagian ini menjelaskan cara memperoleh subjek dan penerbit sertifikat serta memverifikasi bahwa Anda memiliki rantai sertifikat yang valid.

  1. Jalankan perintah OpenSSL berikut untuk mendapatkan Subject dan Issuer untuk setiap sertifikat dalam rantai dari entity ke root dan memverifikasi bahwa sertifikat tersebut membentuk rantai sertifikat yang tepat:
    openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
        

    Dengan certificate adalah nama sertifikat.

  2. Pastikan sertifikat dalam rantai mematuhi panduan berikut:
    • Subject dari setiap sertifikat cocok dengan Issuer sertifikat sebelumnya dalam rantai (kecuali untuk sertifikat Entity).
    • Subject dan Issuer sama untuk root certificate.

    Jika sertifikat dalam rantai mematuhi pedoman ini, rantai sertifikat tersebut dianggap lengkap dan valid.

    Contoh validasi rantai sertifikat

    Contoh berikut adalah output perintah OpenSSL untuk rantai sertifikat contoh yang berisi tiga sertifikat:

    Sertifikat entitas

    openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):'
    
    Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1
    Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
            

    Sertifikat menengah

    openssl x509 -text -in intermediate.pem  | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
            

    Root certificate

    openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
            

    Pada contoh yang ditampilkan di atas, perhatikan hal-hal berikut:

    • Subject sertifikat perantara cocok dengan Issuer dalam sertifikat entitas.
    • Subject root certificate cocok dengan Issuer intermediate certificate.
    • Subject dan Issuer sama di root certificate.

    Dari contoh di atas, Anda dapat mengonfirmasi bahwa contoh rantai sertifikat tersebut valid.

Memverifikasi subjek sertifikat dan hash penerbit

Bagian ini menjelaskan cara mendapatkan hash subjek dan penerbit sertifikat serta memastikan bahwa Anda memiliki rantai sertifikat yang valid.

Sebaiknya verifikasi urutan {i>hash<i} sertifikat karena dapat membantu dalam pengidentifikasian masalah seperti Nama Umum (CN) sertifikat yang memiliki ruang kosong atau karakter khusus.

  1. Jalankan perintah OpenSSL berikut untuk mendapatkan urutan hash untuk setiap sertifikat dalam rantai dari entity hingga root dan memverifikasi bahwa sertifikat tersebut membentuk rantai sertifikat yang tepat.
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    Dengan certificate adalah nama sertifikat.

  3. Pastikan sertifikat dalam rantai mematuhi panduan berikut:
    • Subject dari setiap sertifikat cocok dengan Issuer sertifikat sebelumnya sertifikat dalam rantai (kecuali untuk sertifikat Entity).
    • Subject dan Issuer sama untuk root certificate.

    Jika sertifikat dalam rantai mematuhi pedoman ini, rantai sertifikat tersebut akan dianggap lengkap dan valid.

    Contoh validasi rantai sertifikat melalui urutan hash

    Contoh berikut adalah output perintah OpenSSL untuk contoh rantai sertifikat yang berisi tiga sertifikat:

    openssl x509 -in entity.pem -hash -issuer_hash -noout
    c54c66ba #this is subject hash
    99bdd351 #this is issuer hash
        
    openssl x509 -in intermediate.pem -hash -issuer_hash -noout
    99bdd351
    4a6481c9
        
    openssl x509 -in root.pem -hash -issuer_hash -noout
    4a6481c9
    4a6481c9
        

    Pada contoh yang ditampilkan di atas, perhatikan hal-hal berikut:

    • subject hash sertifikat perantara cocok dengan issuer hash entity CA {i>root<i}.
    • subject hash root certificate cocok dengan issuer hash sertifikat penerbit.
    • subject dan issuer hash sama di root certificate.

    Dari contoh di atas, Anda dapat mengonfirmasi bahwa contoh rantai sertifikat tersebut valid.

Memverifikasi masa berlaku sertifikat

Bagian ini menjelaskan cara memverifikasi apakah semua sertifikat dalam rantai tersebut kedaluwarsa menggunakan metode berikut:

  • Dapatkan tanggal mulai dan akhir sertifikat.
  • Mendapatkan status habis masa berlaku.

Tanggal mulai dan akhir

Jalankan perintah OpenSSL berikut untuk mendapatkan tanggal mulai dan akhir untuk setiap sertifikat dalam rantai dari entity ke root dan pastikan bahwa semua sertifikat dalam rantai berlaku (tanggal mulai sebelum hari ini) dan masa berlakunya belum berakhir.

Contoh validasi masa berlaku sertifikat hingga tanggal mulai dan akhir

openssl x509 -startdate -enddate -noout -in entity.pem
notBefore=Feb  6 21:57:21 2020 GMT
notAfter=Feb  4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem
notBefore=Jun 15 00:00:42 2017 GMT
notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem
notBefore=Apr 13 10:00:00 2011 GMT
notAfter=Apr 13 10:00:00 2022 GMT

Status masa berlaku habis

Jalankan perintah OpenSSL berikut untuk memeriksa apakah sertifikat sudah tidak berlaku atau akan habis masa berlakunya pada N seconds depan. Status ini akan menampilkan status habis masa berlaku sertifikat dalam konteks tanggal sistem saat ini.

openssl x509 -checkend <N Seconds> -noout -in certificate

Dengan certificate adalah nama sertifikat.

Contoh validasi masa berlaku sertifikat melalui opsi checkend

Perintah berikut menggunakan 0 seconds untuk memeriksa apakah sertifikat sudah tersedia kedaluwarsa atau tidak:

openssl x509 -checkend 0 -noout -in entity.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem
Certificate will not expire

Dalam contoh ini, pesan Certificate will not expiremenunjukkan bahwa masa berlaku sertifikat belum berakhir.