Masalah: Windows Server 2008 R2 hanya akan mendukung suite sandi ssl berikut ketika menggunakan sertifikat tertentu di server:
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Ini mencegah klien XP dari terhubung ke server karena XP Cryptographic API tidak mendukung cipher AES secara default.
Akibatnya, kesalahan berikut muncul di log server ketika mencoba untuk terhubung menggunakan internet explorer atau desktop jarak jauh. (Karena mereka menggunakan CAPI microsoft)
Schannel Error 36874 "Sambungan TLS 1.0 telah diterima dari aplikasi klien jarak jauh, tetapi dodne dari suite sandi yang didukung oleh klien didukung oleh server. Permintaan koneksi SSL telah gagal."
Schannel Error 36888 "Peringatan fatal berikut ini dihasilkan: 40. Status kesalahan internal adalah 1204"
Jawaban:
Jika sertifikat yang digunakan di server dibuat menggunakan opsi Legacy Key dalam formulir permintaan sertifikat, kunci pribadi untuk sertifikat itu akan disimpan dalam kerangka API Cryptographic legacy Microsoft. Ketika server web mencoba memproses permintaan menggunakan kerangka kerja baru, Cryptographic Next Generation (CNG), tampaknya ada sesuatu yang terkait dengan kunci pribadi RSA yang disimpan dalam kerangka kerja warisan tidak tersedia untuk kerangka kerja baru. Akibatnya, penggunaan cipher suites RSA sangat terbatas.
Solusi:
Buat permintaan sertifikat menggunakan templat Kunci CNG di panduan permintaan sertifikat khusus.
Memverifikasi bahwa kuncinya ada di tempat yang tepat:
http://msdn.microsoft.com/en-us/library/bb204778(VS.85).aspx
http://www.jensign.com/KeyPal/index.html
Alat untuk memverifikasi cipher-suites yang benar:
http://pentestit.com/2010/05/16/ssltls-audit-audit-web-servers-ssl-ciphers/
https://www.ssllabs.com/
Pengaturan cipher-suite SSL:
http://support.microsoft.com/kb/245030
http://blogs.technet.com/b/steriley/archive/2007/11/06/changing-the-ssl-cipher-order -in-internet-explorer-7-di-windows-vista.aspx
Kami membutuhkan waktu seminggu untuk mencari tahu. Saya harap ini menyelamatkan seseorang dari masalah yang sama.
sumber
Mendapat masalah yang sama persis ini sendiri dan pos ini menghemat banyak waktu, jadi terima kasih semuanya!
Solusi Gary sudah tepat tetapi saya berhasil menyelesaikan masalah hanya dengan mengubah PFX menjadi PEM dan kemudian kembali ke PFX lagi menggunakan openssl. PFX baru mengimpor sertifikat di IIS sama dengan perbedaan bahwa saya bisa melihat cipher yang hilang.
Begini caranya:
Kemudian bagi file cer menjadi tiga, kunci, sertifikat dan sertifikat antara [s]
Kemudian jika Anda mengimpor file .pfx baru ke IIS, ia akan menggunakan semua sandi yang Anda harapkan.
Jadi tidak perlu menerbitkan ulang sertifikat.
sumber
Terima kasih, pos Anda membantu saya, meskipun masalah saya tidak persis sama.
Namun, penyebabnya adalah kesalahan konfigurasi WINHTTP SERVER API di pihak saya. IP saya berubah, dan ketika saya memasukkan sertifikat server baru ke mesin "MY", saya mengabaikan kode pengembalian ALREADY_EXISTS untuk HttpSetServiceConfiguration.
Jadi saya menggunakan sertifikat TLS server sebelumnya yang memiliki nama umum yang salah dan tidak cocok dengan nama server baru saya.
Jika Anda tidak melakukan HttpDeleteServiceConfiguration () atau baris perintah "netsh http delete sslcert 0.0.0.0:8443" dengan benar, Anda akan mendapatkan kesalahan buruk dengan gejala-gejala ini:
1) Dalam TLS, Halo Klien Anda segera bertemu dengan paket TCP dari server Anda dengan Ack dan Reset bit flag yang ditetapkan. (Peringatan kegagalan jabat tangan, saya pikir?)
2) Penampil acara mendapatkan "Peringatan fatal berikut ini dihasilkan: 40. Status kesalahan internal adalah 107."
"Permintaan koneksi SSL 3.0 diterima dari aplikasi klien jarak jauh, tetapi tidak ada suite sandi yang didukung oleh aplikasi klien yang didukung oleh server. Permintaan koneksi SSL telah gagal."
Jadi sebelum Anda mengejar ketidakcocokan suite sandi, pastikan Anda benar-benar menggunakan sertifikat server yang ingin Anda gunakan dengan:
dan periksa nilai hash!
sumber
Ini bisa menjadi masalah KeySpec = 2 - AT_SIGNATURE
certutil -verifystore -v My "Thumbprint of cert" untuk memverifikasi nilai KeySpec. Jika 2, Anda harus mengekspor sertifikat sebagai file PFX dan kemudian menjalankan certutil -importpfx AT_KEYEXCHANGE untuk memperbaikinya.
sumber