2017-02-06 11 views
13

Tworzę aplikację, w której użytkownik zobaczy stronę logowania, wprowadzi swój adres e-mail i hasło. W tym czasie chcę, aby system odczytał jego certyfikaty CAC i pozwolił mu wybrać. Teraz wszystko, co mogę zrobić, to wymagać protokołu SSL i prosi o certyfikat przed zalogowaniem się użytkownika. Czy jest jakiś sposób to zrobić? Testuję to lokalnie przy VS 2015 i zmieniając plik applicationhost.config. Nie jestem pewien, jak to będzie działać inaczej na serwerze w tym momencie. Zasadniczo chcę poprosić użytkownika o certyfikat, kiedy go potrzebuję, a nie wcześniej.Odczytywanie inteligentnej karty na żądanie

Znalazłem trochę danych, ale nadal nie działa na serwerze. Zmieniłem ustawienia SSL na serwerze, aby nie wymagać protokołu SSL i zignorować. Potem dodałem to do mojego pliku web.config:

<location path="FileSharing/Index" allowOverride="true"> 
<system.webServer> 
    <security> 
    <access sslFlags="Ssl,SslNegotiateCert,SslRequireCert"/> 
    </security> 
</system.webServer> 

Z tego ja dostaję błąd 500 i przeglądarka próbuje przejść do:

https://server/FileSharing/FileSharing/Index

gdzie FileSharing znajduje się w adresie dwa razy. Jakieś pomysły?

Pierwsza strona, która jest po prostu stroną powitalną i nie wymaga protokołu SSL, pojawia się dobrze, ale chcę, aby czytała certyfikat podczas odwiedzania indeksu.

+1

Czy możesz spróbować zmienić "FileSharing/Index" => "Index" i sprawdzić, czy to działa? –

Odpowiedz

1

Najprawdopodobniej powinieneś dodać dodatkową stronę pośrednią, zaraz po zalogowaniu, przekierować na stronę "proxy", która będzie wymagać certyfikatu, a następnie, jeśli wszystko się powiedzie, przenieś cały proces.

Powiązane problemy