Cara mengkonfigurasi IIS Express untuk meminta sertifikat klien
8
Adakah yang tahu cara mengonfigurasi IIS Express agar memerlukan sertifikat klien untuk akses? Saya mencoba men-debug aplikasi ASP.NET yang bermasalah yang menggunakan sertifikat klien untuk otentikasi.
Menutup? Sebagian besar pengaturan IIS Express dikonfigurasikan dalam Visual Studio dan debugging suatu program pasti terkait dengan pemrograman ...
Marko
Lalu pertanyaan seperti "bagaimana cara menginstal Visual Studio?" akan menjadi yang biasa? :)
onof
2
Saya tidak ingin berdebat di sini, tetapi FYI IIS Express sebagian besar digunakan untuk debugging aplikasi ASP.NET karena menawarkan fungsionalitas yang tidak didukung oleh server pengembangan ASP.NET. Pertanyaan saya terkait dengan debugging. Tetapi untuk men-debug saya perlu mengkonfigurasi terlebih dahulu. Saya pikir ini lebih memungkinkan bahwa ini sudah dilakukan oleh beberapa pengembang dan bukan oleh administrator sistem karena mereka akan menggunakan IIS yang sebenarnya.
Marko
Saya tidak tahu bagaimana secara program membutuhkan sertifikat klien untuk akses. Namun, di sini ada sumber daya yang saya temukan bantuannya. Semoga ini bisa membantu
rahuL
Artikel ini melakukan persis seperti yang Anda inginkan dengan langkah-langkah terperinci, (saya tidak akan menyalin / menempel di sini), buka dcdevs.blogspot.com/2017/06/... HTH!
Ubah applicationhost.config (Ada dua dari ini di MyDocuments \ IISExpress \ config dan yang lainnya di file program \ IIS Express \ AppServer secara default yang di bawah profil Anda digunakan ketika Anda menjalankan proyek di IISExpress di VS 2012 Yang lain dapat dijalankan menggunakan baris perintah yang saya lakukan pada mesin uji lokal.)
Dua langkah selanjutnya harus dilakukan di Visual Studio Secara default ketika proyek baru dibuat di VS 2012 maka dibuat sebagai proyek IIS Express. Proyek lama yang ditransfer ke VS2012 mungkin harus benar-benar mengubah pengaturan itu.
Pada halaman Properti proyek pada tab Web, ubah Gunakan Server Pengembang Visual Studio untuk Menggunakan Server web IIS Lokal. (Seharusnya ada kotak centang berwarna abu-abu yang mengatakan Gunakan IIS Express jika Anda tidak memiliki instalasi IIS reguler pada mesin Anda (yang tidak dapat dilakukan pada mesin NMCI ini.) Seharusnya ada URL proyek yang mengatakan sesuatu seperti http: // Localhost: 62714 / (yang seharusnya merupakan port yang sama yang ditetapkan sebagai "port spesifik" di bawah pengaturan Visual Studio Development Server (jika diatur)
Kemudian pilih Proyek pada explorer solusi dan pergi ke tab properti. (Kadang-kadang ini harus dilakukan beberapa kali sebelum properti muncul.) Ini akan memiliki tiga properti, SSL Aktifkan yang defaultnya salah, URL SSL yang kosong dengan proyek baru dan URL yang disetel ke URL dalam " URL proyek "pada tab properti.
Ubah properti yang diaktifkan SSL menjadi true, dan URL SSL baru akan dibuat.
Salin URL SSL itu dan kembali ke halaman properti proyek dan rekatkan di sana sebagai URL Proyek baru. Saya menekan "Buat Direktori Virtual" pada titik ini meskipun beberapa blog mengatakan bahwa tidak perlu bahwa Anda hanya perlu menyimpan proyek dan menjalankannya dalam debug.
Pada file applicationhost.config di bawah elemen "" entri baru dibuat ketika proyek pertama kali dijalankan sebelum Anda mengaktifkan SSL. Ini akan terlihat seperti ini:
Saya menemukan blog yang menjelaskan cara mengkonfigurasi permintaan sertifikat klien untuk IIS Express (saya menggunakan Visual Studio 2017, IISExpress 10.0). Rupanya lokasiapplicationhost.config file berubah di Visual Studio 2015 dan lebih tinggi.
Inilah garis besar dari apa yang dikatakannya:
Pasang sertifikat (perhatikan bahwa kunci pribadi hanya diperlukan dari sisi klien) pada mesin pengembangan (harus terlihat dalam daftar sertifikat peramban dalam pengaturannya)
Menggunakan Visual Studio, buat aplikasi web baru
Aktifkan SSL untuk proyek Anda : Lihat properti proyek (F4) -> SSL Enabledke True(perhatikan bahwa SSL URLproperti akan terisi)
Atur proyek Anda untuk memulai dalam mode SSL : Buka Properti Proyek (Alt + Enter), pilih tab Web dan ubah Url Proyek ke yang dari langkah 3. Misalnyahttps://localhost:44300
Temukan file konfigurasi IIS Expressapplicationhost.config : Pada 2015 atau 2017, file tersebut berada di [solution directory]\.vs\config\- dalam versi yang lebih lama ditemukan%UserProfile%\Documents\IISExpress\config\
Jawaban:
Gunakan alat IIS Manager dan ikuti dokumentasi Microsoft. Otentikasi Pemetaan Sertifikat Klien IIS <iisClientCertificateMappingAuthentication> .
Konfigurasi sampel:
sumber
Ini adalah instruksi yang diberikan oleh Jason Shavers di blog-nya. (Tapi halaman itu tidak ada lagi.) Scott Hanselman juga berbicara tentang mengaktifkan SSL di http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx . Tetapi ia tidak merujuk pada pembuatan situs yang membutuhkan sertifikat klien.
Ini adalah instruksi yang saya ikuti:
Ubah applicationhost.config (Ada dua dari ini di MyDocuments \ IISExpress \ config dan yang lainnya di file program \ IIS Express \ AppServer secara default yang di bawah profil Anda digunakan ketika Anda menjalankan proyek di IISExpress di VS 2012 Yang lain dapat dijalankan menggunakan baris perintah yang saya lakukan pada mesin uji lokal.)
Dan elemennya
untuk
Dua langkah selanjutnya harus dilakukan di Visual Studio Secara default ketika proyek baru dibuat di VS 2012 maka dibuat sebagai proyek IIS Express. Proyek lama yang ditransfer ke VS2012 mungkin harus benar-benar mengubah pengaturan itu.
Pada halaman Properti proyek pada tab Web, ubah Gunakan Server Pengembang Visual Studio untuk Menggunakan Server web IIS Lokal. (Seharusnya ada kotak centang berwarna abu-abu yang mengatakan Gunakan IIS Express jika Anda tidak memiliki instalasi IIS reguler pada mesin Anda (yang tidak dapat dilakukan pada mesin NMCI ini.) Seharusnya ada URL proyek yang mengatakan sesuatu seperti http: // Localhost: 62714 / (yang seharusnya merupakan port yang sama yang ditetapkan sebagai "port spesifik" di bawah pengaturan Visual Studio Development Server (jika diatur)
Kemudian pilih Proyek pada explorer solusi dan pergi ke tab properti. (Kadang-kadang ini harus dilakukan beberapa kali sebelum properti muncul.) Ini akan memiliki tiga properti, SSL Aktifkan yang defaultnya salah, URL SSL yang kosong dengan proyek baru dan URL yang disetel ke URL dalam " URL proyek "pada tab properti.
Ubah properti yang diaktifkan SSL menjadi true, dan URL SSL baru akan dibuat.
Pada file applicationhost.config di bawah elemen "" entri baru dibuat ketika proyek pertama kali dijalankan sebelum Anda mengaktifkan SSL. Ini akan terlihat seperti ini:
Saat Anda mengaktifkan SSL di proyek Anda, seharusnya akan terlihat seperti ini:
(semua port 443xx dicadangkan untuk proyek SSL).
sumber
Saya menemukan blog yang menjelaskan cara mengkonfigurasi permintaan sertifikat klien untuk IIS Express (saya menggunakan Visual Studio 2017, IISExpress 10.0). Rupanya lokasi
applicationhost.config
file berubah di Visual Studio 2015 dan lebih tinggi.Inilah garis besar dari apa yang dikatakannya:
SSL Enabled
keTrue
(perhatikan bahwaSSL URL
properti akan terisi)https://localhost:44300
applicationhost.config
: Pada 2015 atau 2017, file tersebut berada di[solution directory]\.vs\config\
- dalam versi yang lebih lama ditemukan%UserProfile%\Documents\IISExpress\config\
<access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
dan<iisClientCertificateMappingAuthentication enabled="true"></iisClientCertificateMappingAuthentication>
Request.ClientCertificate
properti, dan harus diminta saat Anda membuka halaman di browser.sumber