JVM 플래그 사용
-Djavax.net.debug=ssl
서버의 모든 SSL 이벤트에 대한 세부 정보 인 엄청난 양의 로깅을 생성하고 있습니다. 어쨌든 오류 만 기록하는 것이 있습니까? 또는 더 깔끔한 출력을 생성하는 이러한 플래그의 더 나은 하위 집합이있을 수 있습니다.
all turn on all debugging
ssl turn on ssl debugging
The following can be used with ssl:
record enable per-record tracing
handshake print each handshake message
keygen print key generation data
session print session activity
defaultctx print default SSL initialization
sslctx print SSLContext tracing
sessioncache print session cache tracing
keymanager print key manager tracing
trustmanager print trust manager tracing
pluggability print pluggability tracing
handshake debugging can be widened with:
data hex dump of each handshake message
verbose verbose handshake message printing
record debugging can be widened with:
plaintext hex dump of record plaintext
packet print raw SSL/TLS packets
답변
추가 ssl
플래그 를 사용하는 형식은 ssl:[flag]
다음과 같습니다.
-Djavax.net.debug=ssl:record
또는 -Djavax.net.debug=ssl:handshake
.
답변
또한 -Djavax.net.debug=ssl
HTTPS 문제를 디버깅하기에는 사용 (또는 필터)이 너무 번거 롭다 는 것을 알게 되었습니다.
약간 관련이 있지만 제가 선호하는 것은 저렴한 서버에 mitmproxy 를 설정 한 다음이를 통해 프록시하도록 Java 클라이언트를 구성하는 것입니다. 이렇게하면 여러 로그를 훑어 볼 필요없이 프록시에서 HTTPS 요청 / 응답 흐름을 편안하게 검사하고 재생할 수 있습니다.
관심이 있으시면이 작업을 수행하는 방법에 대한 가이드를 작성했습니다. mitmproxy를 사용하여 Java에서 SSL 디버깅