Saya ingin mengatur OCSP Responder saya sendiri (hanya untuk tujuan pengujian). Ini mengharuskan saya untuk memiliki sertifikat root dan beberapa sertifikat dihasilkan darinya.
Saya telah berhasil membuat sertifikat yang ditandatangani sendiri menggunakan openssl. Saya ingin menggunakannya sebagai sertifikat root. Langkah selanjutnya adalah membuat sertifikat yang diturunkan. Sepertinya saya tidak dapat menemukan dokumentasi tentang bagaimana melakukan ini. Adakah yang tahu di mana saya dapat menemukan informasi ini?
Sunting
Dalam retrospeksi, pertanyaan saya belum sepenuhnya dijawab. Untuk mengklarifikasi masalah saya akan mewakili rantai sertifikat saya seperti ini:
ROOT -> A -> B -> C -> ...
Saat ini saya dapat membuat sertifikat ROOT dan A, tetapi saya belum menemukan cara membuat rantai yang lebih panjang.
Perintah saya untuk membuat sertifikat root adalah:
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
Sertifikat A dibuat seperti ini:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Perintah ini secara implisit tergantung pada sertifikat root, yang untuk itu ia menemukan info yang diperlukan dalam file konfigurasi openssl.
Namun Sertifikat B hanya harus bergantung pada A, yang tidak terdaftar dalam file konfigurasi, sehingga perintah sebelumnya tidak akan berfungsi di sini.
Baris perintah apa yang harus saya gunakan untuk membuat sertifikat B dan seterusnya?
Sunting
Saya menemukan jawabannya di artikel ini . Sertifikat B (rantai A -> B) dapat dibuat dengan dua perintah ini:
# Create a certificate request
openssl req -new -keyout B.key -out B.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile A.key -cert A.pem -out B.pem -infiles B.request
Saya juga mengubah file openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
Pendekatan ini tampaknya bekerja dengan baik.