Saya sedang menguji fungsionalitas Pencabutan Sertifikat perangkat CMTS. Ini mengharuskan saya untuk mengatur responder OCSP. Karena ini hanya akan digunakan untuk pengujian saya berasumsi bahwa implementasi minimal yang disediakan oleh OpenSSL sudah cukup.
Saya telah mengekstrak sertifikat dari modem kabel, menyalinnya ke PC saya dan mengubahnya ke format PEM. Sekarang saya ingin mendaftarkannya di database OpenSSL OCSP dan memulai server.
Saya telah menyelesaikan semua langkah ini, tetapi ketika saya melakukan permintaan klien, server saya selalu merespons dengan "tidak dikenal". Tampaknya sama sekali tidak menyadari keberadaan sertifikat saya.
Saya akan sangat menghargai jika ada yang mau melihat kode saya. Demi kenyamanan Anda, saya telah membuat satu skrip yang terdiri dari daftar berurutan dari semua perintah yang digunakan, mulai dari mengatur CA hingga memulai server: http://code.google.com/p/stacked-crooked/source/browse/ trunk / Misc / OpenSSL / AllCommands.sh
Anda juga dapat menemukan file konfigurasi khusus dan sertifikat yang saya uji dengan: http://code.google.com/p/stacked-crooked/source/browse/trunk/Misc/OpenSSL/
Bantuan apa pun akan sangat dihargai.
Jawaban:
Jika Anda tertarik: inilah solusi saya.
Pertama saya membuang responder OCSP OpenSSL. Itu tidak dapat digunakan untuk sertifikat yang belum dibuat dengan CA Anda yang ditandatangani sendiri.
Kemudian saya menggunakan pustaka OpenCA untuk membuat utilitas baris perintah yang mampu membuat respons OCSP dari permintaan OSCP. Ini berfungsi sepenuhnya berdasarkan file: Anda menjalankannya dengan permintaan OSCP yang diformat DER sebagai file input, dan itu menghasilkan file respons OCSP yang diformat DER.
Argumen kedua ke utilitas baris perintah adalah status pencabutan: baik, dicabut atau tidak dikenal. Status sertifikat dalam file respons akan sama dengan argumen yang diteruskan. Kode didasarkan pada sampel ini , ditunjukkan kepada saya oleh The Rook di posting ini .
Langkah terakhir adalah membuat server HTTP yang dibangun berdasarkan utilitas baris perintah. Saya menggunakan kerangka kerja Ruby untuk itu. Fitur bagus adalah bahwa status pencabutan dapat diminta sebagai url HTTP, misalnya: http: //127.0.0.1#000/good .
Memperbarui
Karena tautan di atas rusak, saya akan memposting konten skrip di sini:
AllCommands.sh:
openssl.cnf:
thirdparty.pem:
Utilitas baris perintah menggunakan pustaka OpenCA ditulis dalam C:
sumber