2008-11-06 15 views
5

Mam wyjątkową sytuację, w której muszę wdrożyć uwierzytelnianie za pomocą certyfikatu klienta przez HTTPS między przeglądarką IE a usługami IIS 6. Przeglądarka i usługi IIS są oddzielone zaporą sieciową, która zezwala przeglądarce na łączenie się z usługami IIS na porcie SSL.Jak wygenerować certyfikat klienta SSL z odłączonej sieci?

Posiadamy wewnętrzny serwer certyfikatów w tej samej sieci co IIS. Wygenerowałem certyfikat serwera SSL dla IIS, który jest zainstalowany. Skonfigurowałem usługi IIS tak, aby zezwalał na tylko SSL, wymagają certyfikatów klienta.

Ograniczeniem jest tutaj przeglądarka znajduje się w odłączonej sieci, więc nie mogę przejść do adresu URL CA http://caserver/CertSrv i request a client cert, tak jak zwykle.

Pomyślałem, że jeśli istnieje sposób, w jaki mogę wygenerować CSR na klucz publiczny głównego urzędu certyfikacji, mogę skopiować go do serwera CA, aby wygenerować certyfikat klienta. Jednak wydaje się, że nie ma w tym celu żadnego postanowienia w IE ani w Certyfikacie MMC. Wydaje się, że certyfikaty MMC wymagają bezpośredniego połączenia z urzędem certyfikacji.

Czy ktoś wcześniej to rozwiązał?

FYI, Wszystkie serwery odwołuje run Windows Server 2003.

Aktualizacja: Dzięki Jonas Oberschweiber i Mark Sutton za wskazanie narzędzia wiersza polecenia certreq.exe. Korzystając z tego, wygenerowałem CSR, a w konsekwencji certyfikat klienta, który pomyślnie się zainstalował. Jednak IE najwyraźniej nie wysyła tego certyfikatu klienta podczas uzyskiwania dostępu do serwera IIS, o którym mowa; nadal generuje 403,7 "Wymagany certyfikat klienta SSL:" Wymagane. " Podejrzewam, że powodem jest to, że pole Subject certyfikatu klienta nie jest zgodne z identyfikatorem użytkownika konta z uruchomionym programem IE, a więc może nie wysyła certyfikatu klienta niezgodnego. Temat jest zgodny z tematem użytkownika, którego użyłem do przesłania CSR i wygenerowania certyfikatu klienta na drugim końcu firewalla.

Czy pole Temat ma znaczenie? Czy jest coś jeszcze, co muszę zrobić, aby umożliwić IE wysłanie tego certyfikatu?

Odpowiedz

0

Brzmisz, jakbyś już próbował kilku rzeczy, więc domyślam się, że już o tym wiesz, ale zamierzam je opublikować, tak na wszelki wypadek: Certificate Command Line Tools. Nie jestem jednak pewien, czy robią to, co chcesz.

0

Przejdź do strony http://caserver/CertSrv wspomnianej przy użyciu trzeciego komputera, który może wyświetlić serwer CA. Wybierz trzecią opcję, pobierz certyfikat CA, cert chai lub CRL. Na następnej stronie wybierz "Pobierz CA Certificate Chain", który pobierze plik p7b. Używając dysku flash (lub e-maila, itp.) Przenieś to na inny komputer, który pozwoli ci zaimportować go do zaufanych serwerów głównych w IE.

http://technet.microsoft.com/en-us/library/cc787796.aspx

+1

Obawiam się, to nie jest to, czego się prosi. Kopiowanie w łańcuchu certyfikatów głównego urzędu certyfikacji jest banalne. Potrzebuję wygenerować certyfikat klienta dla odłączonego komputera. – spoulson

1

Użyj polecenia certreq na kliencie następująco

certreq -Nowy -f filein c: \ certrequest.req

Oto i przykład filein

[ Wersja] Podpis = "$ Windows NT $"

[NewRequest]
Temat = "CN = dc1.extranet.frbrikam.com”
EncipherOnly = False
eksportowalne = False
KeyLength = 1024
KeySpec = 1
keyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC

[RequestAttributes] CertificateTemplate = TLSServer

Wymień CertificateTemplate z nazwą szablonu certyfikatu

Gdy masz plik żądania trzeba zgłosić się do urzędu certyfikacji na dysku USB i używać interfejsu internetowego kursu, jak zwykle, aby przetworzyć plik żądania.

Zbierz certyfikat wyjściowy z powrotem do klienta, otwórz go i kliknij Zainstaluj.

+0

Pozwoliło to wygenerować CSR, a następnie certyfikat klienta. Mogę również zainstalować certyfikat na odłączonym serwerze. Ale IE nie rozpoznaje go w menu Narzędzia/Opcje/Cert/Personal, prawdopodobnie dlatego, że certyfikat jest wysyłany do identyfikatora użytkownika, który wygenerował certyfikat klienta, a nie identyfikator użytkownika, który wygenerował CSR. – spoulson

+0

W IE otrzymuję 403,7 "Wymagany certyfikat klienta" podczas uzyskiwania dostępu do serwera IIS. – spoulson

0

Sugestia do aktualizacji, na wszelki wypadek - jaka jest lista zaufanych certyfikatów na serwerze?

Nazwa DN podmiotu, która jest taka sama jak nazwa użytkownika systemu Windows, nigdy nie była dla mnie problemem - chociaż nie używam zbyt wiele usług IIS. Jednak gdzieś w IIS na pewno jest zaufana lista certyfikatów. Ten błąd brzmi dla mnie tak, jak lista zaufanych certyfikatów serwera nie zawiera urzędu certyfikacji lub głównego urzędu certyfikacji, który wystawił certyfikat klienta.

Jest to szczególnie prawdziwe, jeśli nigdy nie pojawi się okno wyskakujące z wyborem certyfikatu w IE po trafieniu na serwer IIS - nawet jeśli masz certyfikat skonfigurowany w swoim magazynie certyfikatów IE. Oznacza to, że klient trafił na serwer, serwer podał listę zaufanych certyfikatów, a klient nie posiadał certyfikatu, który pasowałby do listy. Tak więc sesja SSL przeszła w stan Forbidden error.

Jeżeli okno wyboru certyfikat pojawił się i został wybrany i wysłał cert, mogą pojawić się inne problemy z konfiguracją po stronie serwera ..

Powiązane problemy