Dokumentacja ColdFusion jest słaba, jeśli chodzi o to, jak i kiedy z niej korzystać. Co to robi? Jak się z tego korzysta?

Aktualizacja: wygląda na zepsutą, jak opisano w Mycie certyfikatów klienta w ColdFusion za pomocą SOAP – część 2.

problemy z obsługą sesji SSLv3 przez CFHTTP

6
Henry 3 czerwiec 2011, 00:16

2 odpowiedzi

Najlepsza odpowiedź

Certyfikaty klienta są trochę uciążliwe ze względu na koszty ogólne związane z ich używaniem.

Jak mówi Jura, potrzebny będzie serwer docelowy, który używa certyfikatów klienta jako mechanizmu uwierzytelniania. Ten element po stronie serwera nie musi być oparty na CF. Serwer sieci Web (na przykład IIS) zostanie skonfigurowany tak, aby tego wymagał. Jest to część protokołu SSL/TLS, która nie jest specyficzna dla żadnego języka na poziomie aplikacji.

Użyjesz tego, jeśli serwer, z którego żądasz zasobu, wymaga certyfikatów klienta. Administrator tego serwera musiałby wcześniej przekazać Ci certyfikat klienta i klucz prywatny. Jak wspomniał user349433, jest to zwykle plik PKCS12 (.p12 lub .pfx).

Serwer zweryfikuje, że certyfikat klienta jest „zaufany”, a jeśli tak, umożliwi kontynuację uzgadniania TLS/SSL, a CF będzie mógł napisać na nim żądanie HTTP.

Dzisiejszym przypadkiem użycia jest zapobieganie atakom typu man-in-the-middle, ale ze względu na obciążenie związane z dystrybucją certyfikatów, unieważnianiem itp. nie jest to zbyt powszechne.

Jeśli chcesz dowiedzieć się więcej na ten temat, sprawdź specyfikację TLS 1.1:

http://tools.ietf.org/html/rfc4346 http://tools.ietf.org/html/rfc4346#section-7.4.6

3
jglouie 14 czerwiec 2011, 23:49
Czy koszty ogólne są takie złe? Jeśli tak, co jest dziś powszechnie używane?
 – 
Henry
14 czerwiec 2011, 23:57
Tak. Na przykład, jaki jest dobry sposób na bezpieczną dystrybucję certyfikatu klienta i klucza prywatnego? Jeśli ktoś jest w stanie przechwycić klucz prywatny, system upada. Prawdopodobnie istnieje to unikatowo dla każdego użytkownika, jeśli każdy z nich ma swój własny certyfikat/klucz.
 – 
jglouie
16 czerwiec 2011, 06:33

Używasz certyfikatu klienta w przypadku, gdy serwer docelowy używa tego mechanizmu do uwierzytelniania. Aby móc połączyć się z usługą, musisz uzyskać od usługodawcy określony certyfikat klienta. Był używany w niektórych aplikacjach bankowości internetowej już od dawna, jak sądzę. Nie masz pewności, jaki jest dzisiejszy przypadek użycia, mogą to być rozproszone sieci korporacyjne, w których musisz połączyć się z serwerem firmowym przez Internet w bardzo bezpieczny sposób?

3
Jura Khrapunov 3 czerwiec 2011, 11:53
1
Jakiś przewodnik/samouczek jak z niego korzystać? Jestem zainteresowany. (zakładając, że zarówno producent, jak i konsument są CF9)
 – 
Henry
3 czerwiec 2011, 13:32
2
Certyfikat przechowujesz w formacie PKCS12 jako plik na serwerze i po prostu przekazujesz /path/to/cert.p12 jako parametr CertFile. Weryfikacja certyfikatu (tj. upewnienie się, że został wystawiony przez zaufany urząd certyfikacji) jest zwykle wykonywana poza zakresem ColdFusion (przez IIS lub Apache). Możesz uzyskać dostęp do informacji o certyfikacie klienta za pomocą dodatkowych zmiennych dodanych do CGI i ogólnie nazwa wyróżniająca podmiotu certyfikatu identyfikuje konto użytkownika, na którym klient jest uwierzytelniany.
 – 
Josh
6 czerwiec 2011, 01:58