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 belum memahami rantai sertifikat, baca Rantai kepercayaan.
- Jika Anda belum memahami library OpenSSL, baca OpenSSL.
- Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal atau update ke 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 ke format PEM.
Memvalidasi subjek dan penerbit sertifikat untuk seluruh rantai
Untuk memvalidasi rantai sertifikat menggunakan perintah OpenSSL, selesaikan langkah-langkah yang dijelaskan di bagian berikut:
- Memisahkan rantai sertifikat
- Memverifikasi subjek dan penerbit sertifikat
- Memverifikasi hash subjek dan penerbit sertifikat
- Memverifikasi masa berlaku sertifikat
Memisahkan rantai sertifikat
Sebelum memvalidasi sertifikat, Anda harus memisahkan rantai sertifikat menjadi sertifikat terpisah menggunakan langkah-langkah berikut:
- Login ke server tempat klien OpenSSL berada.
- Pisahkan rantai sertifikat menjadi sertifikat berikut (jika belum dilakukan):
-
Sertifikat entitas:
entity.pem -
Sertifikat perantara:
intermediate.pem -
Root certificate:
root.pem
Gambar berikut menunjukkan contoh rantai sertifikat:
Memverifikasi subjek dan penerbit 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
SubjectdanIssueruntuk setiap sertifikat dalam rantai darientityhinggarootdan verifikasi bahwa sertifikat tersebut membentuk rantai sertifikat yang tepat:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'Dengan certificate adalah nama sertifikat.
-
Pastikan sertifikat dalam rantai mematuhi pedoman berikut:
-
Subjectsetiap sertifikat cocok denganIssuersertifikat sebelumnya dalam rantai (kecuali sertifikatEntity). -
SubjectdanIssuersama untuk sertifikat root.
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.comIntermediate 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 1O1Root 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 = GlobalSignDalam contoh yang ditampilkan di atas, perhatikan hal berikut:
-
Subjectsertifikat perantara cocok denganIssuersertifikat entitas. -
Subjectsertifikat root cocok denganIssuersertifikat perantara. -
SubjectdanIssuersama di sertifikat root.
Dari contoh di atas, Anda dapat mengonfirmasi bahwa rantai sertifikat contoh valid.
-
Memverifikasi hash subjek dan penerbit sertifikat
Bagian ini menjelaskan cara mendapatkan hash subjek dan penerbit sertifikat serta memverifikasi bahwa Anda memiliki rantai sertifikat yang valid.
Selalu praktikkan untuk memverifikasi urutan hash sertifikat karena dapat membantu mengidentifikasi masalah seperti Nama Umum (CN) sertifikat yang memiliki spasi atau karakter khusus yang tidak diinginkan.
- Jalankan perintah OpenSSL berikut untuk mendapatkan urutan
hashuntuk setiap sertifikat dalam rantai darientityhinggarootdan verifikasi bahwa sertifikat tersebut membentuk rantai sertifikat yang tepat. - Pastikan sertifikat dalam rantai mematuhi panduan berikut:
-
Subjectsetiap sertifikat cocok denganIssuersertifikat sebelumnya dalam rantai (kecuali untuk sertifikatEntity). -
SubjectdanIssuersama untuk sertifikat root. -
subject hashintermediate certificate cocok denganissuer hashsertifikat entitas. -
subject hashroot certificate cocok denganissuer hashsertifikat penerbit. -
subjectdanissuer hashsama di sertifikat root.
openssl x509 -hash -issuer_hash -noout -in certificate
Dengan certificate adalah nama sertifikat.
Jika sertifikat dalam rantai mematuhi panduan ini, maka rantai sertifikat 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 contoh valid.
Memverifikasi masa berlaku sertifikat
Bagian ini menjelaskan cara memverifikasi apakah semua sertifikat dalam rantai telah berakhir atau tidak menggunakan metode berikut:
- Dapatkan tanggal mulai dan akhir sertifikat.
- Mendapatkan status masa berlaku.
Tanggal mulai dan akhir
Jalankan perintah OpenSSL berikut untuk mendapatkan tanggal mulai dan berakhir setiap sertifikat
dalam rantai dari entity hingga root dan verifikasi bahwa semua sertifikat
dalam rantai berlaku (tanggal mulai sebelum hari ini) dan tidak kedaluwarsa.
Contoh validasi habis masa berlaku sertifikat melalui tanggal mulai dan berakhir
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 kedaluwarsa
Jalankan perintah OpenSSL berikut untuk memeriksa apakah sertifikat telah berakhir atau akan berakhir dalam N seconds hari ke depan. Tindakan ini akan menampilkan status 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
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 expiremenunjukkan bahwa
masa berlaku sertifikat belum berakhir.