hạn chế ghi nhật ký gỡ lỗi java ssl


94

Sử dụng cờ JVM

-Djavax.net.debug=ssl

đang tạo ra một lượng lớn ghi nhật ký, chi tiết cho mọi sự kiện SSL trên máy chủ. Có anyway để chỉ có nó lỗi ghi nhật ký? hoặc có thể có một số tập hợp con tốt hơn trong số các cờ này tạo ra đầu ra gọn gàng hơn

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

3
Tôi tin rằng bạn nhận được lỗi miễn phí theo cách ngoại lệ. Không có hành động đặc biệt nào là cần thiết.
jww

Điều này đặc biệt được sử dụng để gỡ lỗi. Do đó, số lượng lớn các bản ghi.
javajavajava

1
Đặt nó thành ""dường như chỉ hiển thị một số cảnh báo.
NateS

Câu trả lời:


85

Định dạng để sử dụng các sslcờ bổ sung làssl:[flag] ví dụ:

-Djavax.net.debug=ssl:recordhoặc -Djavax.net.debug=ssl:handshake.


2
đây là một câu trả lời được tán thành cao, nhưng nó có thực sự hiệu quả với mọi người không? Nó dường như không dành cho tôi. Cũng có một mục nhập lỗi mà các tùy chọn này sẽ không thực sự hoạt động.
eis

1
@eis vâng, nó đã làm việc cho tôi. Có lẽ bạn không cài đặt nó đúng, và nếu như vậy, bạn dứt khoát nên hỏi một câu hỏi mới vì vậy chúng tôi có thể giúp bạn ra :)
Alfabravo

@Alfabravo vậy bạn đang nói rằng mục nhập lỗi không hợp lệ và những mục này hoạt động như mong đợi?
eis

1
Vâng, đó là từ năm 2014, jdk7 và openjdk. Ngoài ra, có người nhận xét đây là debug logging được cải thiện, do đó mà
Alfabravo

14

Tôi cũng thấy rằng sử dụng -Djavax.net.debug=ssl (hoặc thậm chí các bộ lọc của nó) quá cồng kềnh để gỡ lỗi các vấn đề HTTPS.

Nó hơi liên quan một chút, nhưng điều tôi thích làm là thiết lập mitmproxy trên một máy chủ giá rẻ ở đâu đó và sau đó định cấu hình các máy khách Java của tôi để proxy thông qua nó. Bằng cách này, tôi có thể thoải mái kiểm tra và phát lại các luồng yêu cầu / phản hồi HTTPS trên proxy mà không cần phải xem qua nhiều bản ghi.

Nếu bạn quan tâm, tôi đã viết một hướng dẫn về cách thực hiện điều này: Gỡ lỗi SSL trong Java bằng mitmproxy


Tôi nghĩ rằng cách tiếp cận của bạn hữu ích để gỡ lỗi lưu lượng truy cập đang xảy ra bên trong phiên TLS và có mọi chi tiết về nó, có thể sửa đổi nó, nhưng nó sẽ kém ý nghĩa hơn rất nhiều khi điều tra sự cố xảy ra ở cấp độ của chính phiên TLS. Proxy của bạn sẽ thay đổi và ẩn những gì đang xảy ra ban đầu ở cấp đó.
jmd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.