W tym przewodniku przedstawiono niektóre potencjalne przyczyny, które mogą powodować debugowanie Java SSL, a następnie przedstawię szeroką gamę możliwych rozwiązań, które możesz spróbować rozwiązać.
1. Pobierz Fortect i zainstaluj na swoim komputerze
2. Uruchom program i kliknij „Skanuj”
3. Kliknij „Napraw”, aby naprawić znalezione problemy
Przyspiesz teraz wydajność swojego komputera dzięki temu prostemu pobieraniu.
Zrozumienie problemów z połączeniem SSL / TLS może zwykle byćtrudne, zwłaszcza jeśli nasze sms-y są niezrozumiałefaktycznie wysłane i odebrane. SunJSSE zapewnia wbudowane debugowanieSystem i jest niewątpliwie aktywowany przez te właściwości systemu javax.net.debug
.
Poniższy przykład jest prawdopodobnie szybkim przykładem pochodzącym z czytania niektórych danych debugowania.Należy pamiętać, że efekt końcowy jest niestandardowy i może ulec zmianierozwiązać problem. Używamy standardu SunJSSEDebugowanie X509KeyManager i X509TrustManagerProdukt informacyjny.
Fortect to najpopularniejsze i najskuteczniejsze narzędzie do naprawy komputerów na świecie. Miliony ludzi ufają, że ich systemy działają szybko, płynnie i bez błędów. Dzięki prostemu interfejsowi użytkownika i potężnemu silnikowi skanowania, Fortect szybko znajduje i naprawia szeroki zakres problemów z systemem Windows - od niestabilności systemu i problemów z bezpieczeństwem po zarządzanie pamięcią i wąskie gardła wydajności.
1. Pobierz Fortect i zainstaluj na swoim komputerze
2. Uruchom program i kliknij „Skanuj”
3. Kliknij „Napraw”, aby naprawić znalezione problemy
Zakłada to podstawowe zrozumienie SSL/TLS.Protokół. Przeczytaj omówienie protokołu SSLZobacz sektor JSSE Reference Manual w celu uzyskania dalszych sugestii dotyczących:Protokoły (wiadomości pierwszego kontaktu itp.).
Skorzystaj z okazji, aby połączyć się przez SSLSocketClientWithClientAuth
Przykładowa aplikacja dlaprosty serwer HTTPS wymagający indywidualnej certyfikacji, a następnie zgłoszeniaŻądanie HTTPS i otrzymaj rzeczywistą odpowiedź.
java -Djavax .net.debug równa się wszystkim r -Djavax.net.ssl.trustStore = trustStore SSLSocketClientWithClientAuth 2001 bongosy /index.html
Najpierw inicjowany jest unikalny X509KeyManager i rozpoznaje, że ogromny jestkeyEntry w magazynie kluczy udostępnia motyw, który nazywa się „książę”. KiedySerwer prosi klienta o weryfikację, X509KeyManagerprzeszukuje listę keyEntries pod kątem najbardziej odpowiednich poświadczeń.
***znaleziono dla: DucLinia [0] to [[ Wersja: V1 Temat: CN = Duke, OU = Oprogramowanie Java, O = “Sun Microsystems, Inc.”, L = Cupertino, C = USA st = ohio, algorytm podpisu: MD5withRSA, OID = 1.2.840.113549.1.1.4 Klucz: z klucza prywatnego Sun RSA, 1024 bit Moduł: 13496816604756326691405828057144402898649808754492399126919517 667593269213420979048109900052353578998293280426361122296881234393722020 704208851688212064483570055963805034839797994154526862998272017486468599 962268346037652120279791547218281230795146025359480589335682217749874703 510467348902637769973696151441 wystawca publiczny: 65537 Data ważności: [Od: wtorek, 16 maja, 16:46:46 PT 2001, Do: niedziela maj 16:46:46 22 PDT 2011] Emitent: CN = Duke, OU = Oprogramowanie Java, O = „Sun Microsystems, Inc.”, L jest równe Cupertino, ST = CA, C = USA Numer seryjny: [3b0afa66]] Algorytm: [MD5withRSA] Podpis 5F:0000: B5 sześćdziesiąt dwa E9 A0 dwadzieścia sześć 1D 8E A2 7E 7C 02 08 trzydzieści pięć różnych 3A 3E _.b .. & ……. 6:>0010: C9 C2 Kwiecień 45 DD F9 BC 06 FC 25 CF 30 92 91 4E b2 ..E ……% 0 … N0020: 62 17 08 czterdzieści osiem czternaście cali 68 80 CF DD 90 11 rano EA 92 7F CE DD b..H.h ……….0030: B4 FD 12 A8 71 C7 9E D7 C3 D0 E3 BD BB 20 de dziewięćdziesiąt dwa …. n ……….0040: C2 3B C8 DE CB 25 23 C0 8B 76 b6 B9 0B sześćdziesiąt cztery 80 63 .; …% # …… Region Kolumbii0050: D9 09 25 7A 2d CF 0A 31st B6 E9 CA C1 37 93 BC 0D ..% – z..1 …. 7 …0060: 4E siedemdziesiąt cztery dziewięćdziesiąt trzy 4F 58 31 DA AC DF D8 BD BD piąty błąd 89 AF EC C8 Nt.OX1 ………..0070: 2D 24 A2 BC B2 24 4F B7 28 6F D3 00 E1 9B 72 6C -….. O. (o … r.l]***
Następnie należy zainicjować X509TrustManager, znaleźć certyfikat.dla zdolności certyfikacji (CA) o nazwie „JSSE Test CA”. Dowolny serwerkupuje ważne dane uwierzytelniające х podpisane przez ten urządWiarygodny.
TrustStore to: klucze zaufaniaTyp TrustStore prawdopodobnie skończy się: jksDostawca TrustStore:inicjowanie magazynu zaufaniachociaż dodanie liczonego na certyfikacie: Temat: CN = JSSE test CA, OU = JWS, O = Sun, L = Santa Clara, ST = Kalifornia, C = USA Nadajnik: CN = JSSE Test CA, OU = JWS, O = Słońce, L = Santa Clara, ST = CA, C równa się USA Algorytm: RSA; Numer seryjny: 0x0 Obowiązuje od poniedziałku, 19 lipca, 13:30:15 PT, 2004 do piątku, 5 grudnia, 12:30:15 PT, 2031.
Jak włączyć SSL dzienniki debugowania w Tomcat?
W systemie Windows, używając “catalina.bat use” bez wysiłku uruchom tomcat w uruchomionej konsoli, zamiast nowego systemu, przekieruj cały błąd poziomu i standardowe wyjście z tego do pliku za pomocą następującej kontroli. 2> i 1 oznaczają tylko wyjście do pliku. Bez tego zostałby wysłany zarówno na SMS, jak i na konsolę.
Zamierzamy skończyć trochę więcej kodów inicjalizacji, ale potem…teraz wreszcie wypełnione, co spowoduje nawiązanie połączenia z rzeczywistym serwerem.
Rozpocznij utratę nasion z SecureRandomZakończono wysyłanie SecureRandomZmniejsz eksport – wybór zestawów szyfrówKontrola eksportu – tylko część wartości jest dostępna w pamięci podręcznej…Egzekwowanie kontroli eksportu — dostęp do prawnej pamięci podręcznej…%% Brak buforowanej sesji klienta
-Djavax. Sieć. debug = all włącza rejestrowanie debugowania w implementacji SSL opartej na JSSE.-Dssl. debug = true i dodatkowo -Dweblogic. StdoutDebugEnabled = true Właściwości wiersza poleceń mają serwer WebLogic do debugowania kodu wywołania SSL.
Dostawy do serwerów są wykonane i można je zobaczyć jako pierwszeWiadomość ClientHello zawierająca:
- losowe informacje używane do ostatecznej inicjalizacji kryptografiiProcedury,
- SessionID, jeśli jest używane niezerowe, jest zdecydowanie używane w. usedPrzywracanie starej sesji
- ta lista zestawów szyfrów żądanych przez respondenta.
- i brak algorytmu kompresji.
Aby zdiagnozować błędy w fazie aplikacji, należy odszyfrować te sesje SSL za pomocą narzędzia takiego jak ssldump. Możesz zezwolić na debugowanie SSL w systemie BIG-IP, ogólnie przetestować koncentratory SSL dla serwera wirtualnego za pomocą jednej konkretnej przeglądarki internetowej lub klienta OpenSSL i sprawdzić w razie potrzeby pliki dziennika debugowania danej osoby.
Wydano różne filtry, w tym obaEnkapsulacja nagłówka TLSv1 w formacie nagłówka SSLv2Hello(Zobacz SetEnabledProtocols ()).
*** Witaj kupujący, TLSv1RandomCookie: GMT: 1073239164 Bajty = 10, 80, 71, 86, 124, 135, 104,151, 72, 153, 28, 65, 97, 232, 160, 217, 146, 178, osiemdziesiąt siedem, 255, 122, 147, 83,197, 60, 187, 227, siedemdziesiąt sześćIdentyfikator sesji:Kolekcje szyfrowania: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]Alternatywy kompresji: 0***[napisz] Hasze MD5 i SHA1: len oznacza 730000: 07 00 00 45 03 01 40 F8 54 7C 0A 50 46 56 7C osiemdziesiąt siedem … E .. @. T..PGV ..0010: 68 80 siedem 48 99 46 1C 61 E8 D9 a0 92 B2 57 FF 7A 95 h.H.F.a ….. W.z.0020: 53 3C combo BB E3 4C 00 00 1E 00 04 00 05 podwójne zero 2F 00 S. <.. L ........ /.0030: trzydzieści trzy 00 32 50 0A 00 00 06 13.00 09 00 15 00 12 50 3.2 ............. 030040: 00 08 00 11 podwójne zero 1101 podwójne zero .........ręka, NAPISZ: uścisk dłoni TLSv1, długość równa MD5 73[wpisz] i skróty SHA1: len oznacza 980000: 01 03 01 00 39 Podwójne zero 50 00 20 00 50 04 01 00 95 00 .... mylić się ... .......0010: 50 05 00 00 2F 50 33 00 00 podwójne zero 37 00 00 0A 07 00 .... versus .. 3.2 .....0020: C0 00 16 00 podwójne zero 00 czternaście 00 00 09 06 50 50 00 00 15 ............ @ ... 000030: dwunożne zero 12 00 00 03 02 podwójne anty - 80 00 00 08 50 00 14 podwójne zero ................0040: 00 18 40 F8 54 7C 0A 20-30 47 56 7C 87 68 dziewięćdziesiąt ekstra skuteczne 48 99 .. @. T..PGV..x.X.0050: 46 1C E8 61 A0 D9 92 B2 pięćdziesiąt siedem FF 7A 93 53 C5 3C BB F.a ..... W.z.S. <.0060: E3 4C .Lmain, WRITE: klient SSLv2 hej , cele, długość = 98
Jak można debugować Połączenia SSL / TLS w Javie?
Debugowanie połączeń SSL/TLS zapewnia bezpośredni odczyt produktu podczas pobierania parametrów javax.net.debug. Jak działa SSL w kamerze JSSE zawiera wyjaśnienie każdego podstawowego procesu i wyjaśnia, jakie komunikaty mogą zostać wywołane w przypadku wystąpienia problemu. Kolejna podksiążka, Bulletproof SSL, zawiera rozdział poświęcony specjalnie TLS w Javie.
Sekcja zatytułowana „[Surowy zapis]” proponuje rzeczywiste dane, które są wysyłane doObiekt wspólnego wydatku (w tym przypadku OutputStream).
[Nieprzetworzony list]: długość = 1000000: 80 62 01 cel 03 0039 00 podwójne zero 0020 00 0004 10 00 .b …. 9 … …..0010: 80 podwójne zero 50 05 00 00 2F 00 podwójne nie 33 00 00 32 00 50 0A …… – .. 3..2 … 0
Aby zobaczyć wszystkie komunikaty debugowania sprzedaży: java -Djavax.net.debug = all MyApp.Aby wyświetlić kod szesnastkowyDla każdej wiadomości z afirmacją, możesz wprowadzić następujące polecenie, które czasami jest opcjonalne: java -Djavax.net.debug implikuje ssl: handshake: data MojaAplikacja.
Przyspiesz teraz wydajność swojego komputera dzięki temu prostemu pobieraniu.