Saya tidak bisa mendapatkan wget untuk menggunakan sertifikat klien. Dokumentasi berbicara tentang menggunakan bendera - sertifikat.
Penggunaan flag sertifikat jelas, saya mengaturnya untuk menggunakan versi PEM dari sertifikat klien.
Tetapi ketika saya terhubung saya mendapatkan kesalahan berikut:
HTTP request sent, awaiting response... Read error (error:14094410:SSL routines:
SSL3_READ_BYTES:sslv3 alert handshake failure; error:140940E5:SSL routines:SSL3_
READ_BYTES:ssl handshake failure) in headers.
Giving up.
ssl handshake failure berarti klien tidak menyediakan sertifikat klien yang benar. Masih sertifikat klien yang saya gunakan, berfungsi di browser.
Catatan: Saat saya menonaktifkan otentikasi klien di server, wget dapat terhubung. Catatan: Penggunaan curl disarankan, tetapi saya ingin menghindari sakelar.
ssl-certificate
wget
Bart De Vos
sumber
sumber
Jawaban:
Saya belajar satu minggu tentang ini, akhirnya dengan bantuan yang saya dapatkan dari halaman ini.
Perintah yang saya gunakan untuk menghubungkan adalah:
sumber
Apakah Anda yakin bahwa otentikasi sertifikat klien SSL berfungsi terhadap server Anda?
Saya baru saja menguji bahwa saya dapat mengambil sertifikat saya (dalam format PKCS12), mengubahnya menjadi sertifikat dan file kunci dalam format PEM dan menggunakannya dengan wget baik-baik saja.
Saya dapat memprovokasi tiga kondisi kesalahan, tidak ada yang cocok dengan yang Anda laporkan:
Saya menggunakan nginx; Anda tidak menyebutkan apa yang Anda gunakan, jadi saya tidak yakin apakah Apache akan mengembalikan respons yang sama.
Saya sarankan mengambil sertifikat dan kunci Anda, menggabungkannya ke PKCS12 (atau hanya mengimpornya sebagai PEM jika browser Anda mendukung format) dan memastikan bahwa semuanya bekerja di depan itu terlebih dahulu.
Jika Anda sudah melakukannya, mungkin Anda dapat mencoba dari komputer lain untuk memastikan bahwa itu bukan sesuatu yang aneh dengan versi OpenSSL yang Anda gunakan.
Terakhir, coba gunakan OpenSSL dalam mode s_client:
Dan lihat apakah semuanya bekerja pada level itu. Jika demikian, maka ada sesuatu yang tidak beres dengan wget dan Anda mungkin ingin membangun kembali atau menginstalnya kembali. Jika tidak, tingkat output debug dapat membantu Anda menentukan masalah lebih dari yang akan di-debug output wget.
sumber
Saya telah berhasil menggunakan wget seperti ini:
Perhatikan
--private-key option
. retain.url memiliki https: //bla.bla.blaNamun, sekarang meminta saya dengan "Masukkan frase pass PEM:".
Jika saya memasukkan kata sandi itu berfungsi baik, tetapi apakah ada yang tahu cara di sekitar prompt?
sumber
Apakah mungkin wget terhubung ke port 80? Kesalahan itu sangat mirip dengan kesalahan yang saya terima dalam pengujian ketika saya secara tidak sengaja mendengarkan HTTP ke 80 dan 443-wget mencoba berbicara SSL dan tidak mendapatkan respons yang diinginkan.
sumber
Dapatkan tangkapan jaringan dan muat di Wireshark. Ini akan memberi Anda gambaran yang lebih jelas tentang apa yang gagal di tingkat SSL / TLS.
sumber
Ada masalah dengan SSLv3 dalam versi seperti 0.9.8.
Coba lewat -no_ticket ke openssl s_client atau jika -ssl2 berfungsi
sumber