Memvalidasi tujuan sertifikat

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

Dokumen ini menjelaskan cara memvalidasi tujuan sertifikat sebelum Anda mengupload sertifikat ke keystore atau truststore. Proses ini mengandalkan OpenSSL untuk validasi dan dapat diterapkan di lingkungan mana pun tempat OpenSSL tersedia.

Sertifikat TLS umumnya diterbitkan dengan satu atau beberapa tujuan yang dapat digunakan. Biasanya hal ini dilakukan untuk membatasi jumlah operasi yang dapat menggunakan kunci publik yang terdapat dalam sertifikat. Tujuan sertifikat ini tersedia dalam ekstensi sertifikat berikut:

  • Penggunaan kunci
  • Penggunaan kunci yang diperpanjang

Penggunaan kunci

Ekstensi penggunaan kunci menentukan tujuan (misalnya, enkripsi, tanda tangan, atau penandatanganan sertifikat) dari kunci yang terdapat dalam sertifikat. Jika kunci publik digunakan untuk autentikasi entitas, ekstensi sertifikat harus memiliki penggunaan kunci Tanda tangan digital.

Berbagai ekstensi penggunaan kunci yang tersedia untuk sertifikat TLS yang dibuat menggunakan proses Certificate Authority (CA) adalah sebagai berikut:

  • Tanda tangan digital
  • Anti penyangkalan
  • Penyandian kunci
  • Penyandian data
  • Kesepakatan utama
  • Penandatanganan sertifikat
  • Penandatanganan CRL
  • Khusus encoding
  • Hanya uraikan

Untuk informasi lebih lanjut tentang ekstensi penggunaan kunci ini, lihat RFC5280, Penggunaan Kunci.

Penggunaan kunci yang diperpanjang

Ekstensi ini menunjukkan satu atau beberapa tujuan yang dapat menggunakan kunci publik tersertifikasi, selain atau sebagai pengganti tujuan dasar yang ditunjukkan dalam ekstensi penggunaan kunci. Secara umum, ekstensi ini hanya akan muncul di sertifikat entitas akhir.

Berikut ini beberapa ekstensi penggunaan kunci tambahan yang umum:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Kunci yang diperluas dapat bersifat penting atau tidak penting.

  • Jika ekstensi bersifat penting, sertifikat hanya boleh digunakan untuk keperluan yang ditunjukkan. Jika sertifikat digunakan untuk tujuan lain, berarti sertifikat tersebut melanggar kebijakan CA.
  • Jika bersifat tidak penting, ekstensi menunjukkan tujuan atau keperluan kunci yang dimaksudkan sebagai informasi dan tidak menyiratkan bahwa CA membatasi penggunaan kunci untuk tujuan yang ditunjukkan. Namun, aplikasi yang menggunakan sertifikat mungkin memerlukan penetapan tujuan tertentu agar sertifikat dapat diterima.

Jika sertifikat berisi kolom penggunaan kunci dan kolom penggunaan kunci yang diperluas sebagai hal penting, kedua kolom tersebut harus diproses secara terpisah, dan sertifikat hanya dapat digunakan untuk tujuan yang memenuhi kedua nilai penggunaan kunci. Namun, jika tidak ada tujuan yang dapat memenuhi kedua nilai penggunaan kunci, sertifikat tersebut tidak boleh digunakan untuk tujuan apa pun.

Saat Anda mendapatkan sertifikat, pastikan sertifikat tersebut memiliki penggunaan kunci yang tepat dan telah ditentukan untuk memenuhi persyaratan sertifikat klien atau server, yang tanpanya handshake TLS akan gagal.

Tujuan Penggunaan kunci

(wajib)

Penggunaan kunci yang diperpanjang

(opsional)

Sertifikat entitas server yang digunakan di keystore of virtual host Apigee Edge
  • Tanda tangan digital
  • Penyandian kunci atau perjanjian kunci
Autentikasi server web TLS
Sertifikat entity klien yang digunakan di truststore of virtual host Apigee Edge
  • Tanda tangan digital atau perjanjian kunci
Autentikasi klien Web TLS
Sertifikat entity server yang digunakan di truststore server target Apigee Edge
  • Tanda tangan digital
  • Penyandian kunci atau perjanjian kunci
Autentikasi server web TLS
Sertifikat entitas klien yang digunakan dalam keystore server target Apigee Edge
  • Tanda tangan digital atau perjanjian kunci
Autentikasi klien Web TLS
Intermediate dan root certificate
  • Tanda sertifikat
  • Tanda daftar pencabutan sertifikat (CRL)

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 mempelajari lebih lanjut ekstensi penggunaan kunci dan penggunaan kunci yang diperpanjang, baca RFC5280.
  • Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal atau update klien OpenSSL ke versi terbaru
  • Pastikan sertifikat dalam format PEM dan jika belum, konversikan sertifikat ke format PEM.

Memvalidasi tujuan sertifikat

Bagian ini menjelaskan langkah-langkah yang digunakan untuk memvalidasi tujuan sertifikat.

  1. Masuk ke server tempat OpenSSL berada.
  2. Untuk mendapatkan penggunaan kunci sertifikat, jalankan perintah OpenSSL berikut:
    openssl x509 -noout -ext keyUsage < certificate
    

    Dengan certificate adalah nama sertifikat.

    Contoh output

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  3. Jika penggunaan kunci bersifat wajib, maka hal tersebut akan ditetapkan sebagai penting sebagai berikut:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  4. Jalankan perintah berikut untuk mendapatkan extended key usage untuk sertifikat. Jika penggunaan kunci yang diperpanjang tidak ditetapkan sebagai penting, maka itu adalah rekomendasi, bukan mandat.
    openssl x509 -noout -ext extendedKeyUsage < certificate
    

    Dengan certificate adalah nama sertifikat.

    Contoh output

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication