Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Dokumen ini menjelaskan cara memvalidasi rantai sertifikat sebelum Anda mengupload sertifikat ke keystore atau truststore di Apigee Edge. Proses ini mengandalkan toolkit OpenSSL untuk memvalidasi rantai sertifikat dan berlaku di lingkungan mana pun 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 library OpenSSL, baca OpenSSL.
- Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal atau update klien OpenSSL ke versi terbaru.
- 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 di bagian berikut:
- Memisahkan rantai sertifikat
- Memverifikasi penerbit dan subjek sertifikat
- Memverifikasi subjek sertifikat dan hash penerbit
- Memverifikasi masa berlaku sertifikat
Memisahkan rantai sertifikat
Sebelum memvalidasi sertifikat, Anda perlu membagi rantai sertifikat menjadi beberapa sertifikat terpisah menggunakan langkah-langkah berikut:
- Masuk ke server tempat klien OpenSSL berada.
- Bagi rantai sertifikat menjadi beberapa sertifikat berikut (jika belum dilakukan):
-
Sertifikat entitas:
entity.pem
-
Sertifikat menengah:
intermediate.pem
-
Root certificate:
root.pem
Gambar berikut menunjukkan rantai sertifikat contoh:
Memverifikasi penerbit dan subjek sertifikat
Bagian ini menjelaskan cara mendapatkan subjek dan penerbit sertifikat serta memverifikasi bahwa Anda memiliki rantai sertifikat yang valid.
-
Jalankan perintah OpenSSL berikut untuk mendapatkan
Subject
danIssuer
untuk setiap sertifikat dalam rantai darientity
keroot
dan pastikan keduanya membentuk rantai sertifikat yang tepat:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
Dengan certificate adalah nama sertifikat.
-
Pastikan sertifikat dalam rantai mematuhi panduan berikut:
-
Subject
setiap sertifikat cocok denganIssuer
sertifikat sebelumnya dalam rantai (kecuali untuk sertifikatEntity
). -
Subject
danIssuer
sama untuk root certificate.
Jika sertifikat dalam rantai mematuhi panduan ini, rantai sertifikat 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
Intermediate certificate
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
Dalam contoh yang ditampilkan di atas, perhatikan hal berikut:
-
Subject
pada intermediate certificate cocok denganIssuer
sertifikat entity. -
Subject
root certificate cocok denganIssuer
intermediate certificate. -
Subject
danIssuer
sama di root certificate.
Dari contoh di atas, Anda dapat mengonfirmasi bahwa rantai sertifikat sampel tersebut valid.
-
Memverifikasi subjek sertifikat dan hash penerbit
Bagian ini menjelaskan cara mendapatkan hash subjek dan penerbit sertifikat, serta memverifikasi bahwa Anda memiliki rantai sertifikat yang valid.
Sebaiknya Anda memverifikasi urutan hash sertifikat karena dapat membantu mengidentifikasi masalah seperti Nama Umum (CN) sertifikat yang memiliki ruang yang tidak diinginkan atau karakter khusus.
- Jalankan perintah OpenSSL berikut untuk mendapatkan urutan
hash
untuk setiap sertifikat dalam rantai darientity
hinggaroot
dan memastikan bahwa bentuk tersebut membentuk rantai sertifikat yang benar. - Pastikan sertifikat dalam rantai mematuhi panduan berikut:
-
Subject
setiap sertifikat cocok denganIssuer
sertifikat sebelumnya dalam rantai (kecuali untuk sertifikatEntity
). -
Subject
danIssuer
sama untuk root certificate. -
subject hash
pada intermediate certificate cocok denganissuer hash
entity certificate. -
subject hash
root certificate cocok denganissuer hash
sertifikat penerbit. -
subject
danissuer hash
sama di root certificate.
openssl x509 -hash -issuer_hash -noout -in certificate
Dengan certificate adalah nama sertifikat.
Jika sertifikat dalam rantai tersebut mematuhi panduan ini, rantai sertifikat akan dianggap lengkap dan valid.
Contoh validasi rantai sertifikat melalui urutan hash
Contoh berikut adalah output perintah OpenSSL untuk rantai sertifikat contoh 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
Dalam contoh yang ditampilkan di atas, perhatikan hal berikut:
Dari contoh di atas, Anda dapat mengonfirmasi bahwa rantai sertifikat sampel tersebut valid.
Memverifikasi masa berlaku sertifikat
Bagian ini menjelaskan cara memverifikasi apakah masa berlaku semua sertifikat dalam rantai telah habis menggunakan metode berikut:
- Mendapatkan tanggal mulai dan akhir sertifikat.
- Dapatkan status masa berlaku habis.
Tanggal mulai dan akhir
Jalankan perintah OpenSSL berikut untuk mendapatkan tanggal mulai dan akhir untuk setiap sertifikat
dalam rantai dari entity
hingga root
dan pastikan semua sertifikat
dalam rantai tersebut sudah berlaku (tanggal mulai sebelum hari ini) dan belum habis masa berlakunya.
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 berakhir
Jalankan perintah OpenSSL berikut untuk memeriksa apakah masa berlaku sertifikat sudah berakhir atau
akan habis masa berlakunya dalam N seconds
berikutnya. Tindakan 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 masa berlaku sertifikat sudah berakhir atau belum:
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 expire
menunjukkan bahwa masa berlaku sertifikat belum berakhir.