source

제한, Java ssl 디버깅로깅

gigabyte 2022. 9. 4. 15:27
반응형

제한, Java ssl 디버깅로깅

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

추가 정보

  • JavaSE 8: Java Secure Socket Extension (JSE) 레퍼런스 가이드:https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html
  • JavaSE 8: SSL/TLS 접속 디버깅:https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/ReadDebug.html
  • JavaSE 11: Java Secure Socket Extension (JSE) 레퍼런스 가이드:https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html

추가 명령어를 사용하기 위한 형식sslflags는ssl:[flag]예를 들어 다음과 같습니다.

-Djavax.net.debug=ssl:record또는-Djavax.net.debug=ssl:handshake.

또, 이 기능을 사용하여-Djavax.net.debug=sslHTTPS 문제를 디버깅하는 데 너무 번거로울 수 없습니다.

조금 복잡하지만 저렴한 서버 어딘가에 mitmproxy를 설정한 후 Java 클라이언트를 구성하여 프록시를 수행하는 것이 좋습니다.이렇게 하면 다수의 로그를 샅샅이 뒤지지 않고 프록시 상의 HTTPS 요구/응답 플로우를 쉽게 검사 및 재생할 수 있습니다.

관심 있는 경우 mitmproxy를 사용한 Java에서의 SSL 디버깅 방법에 대한 가이드를 작성했습니다.

언급URL : https://stackoverflow.com/questions/23659564/limiting-java-ssl-debug-logging

반응형