web-dev-qa-db-fra.com

limitation Java consignation de débogage ssl

Utilisation de l'indicateur JVM

-Djavax.net.debug=ssl

produit une quantité énorme de journalisation, les détails de chaque événement SSL sur le serveur. Y a-t-il un moyen de ne garder que les erreurs de journalisation? ou peut-être il y a un meilleur sous-ensemble de ces drapeaux qui produisent une sortie plus ordonnée

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
77
Steve Renyolds

Le format d’utilisation des ssl flags supplémentaires est ssl:[flag] par exemple:

-Djavax.net.debug=ssl:record ou -Djavax.net.debug=ssl:handshake.

71
A Mack

Je trouve aussi que l'utilisation de -Djavax.net.debug=ssl (ou même ses filtres) trop lourd pour le débogage des problèmes HTTPS.

C’est un peu compliqué, mais ce que je préfère, c’est installer mitmproxy sur un serveur peu coûteux, puis configurer mes Java clients pour qu’ils passent par un proxy. peut facilement inspecter et rejouer les flux de demandes/réponses HTTPS sur le proxy sans avoir à parcourir un grand nombre de journaux.

Si vous êtes intéressé, j'ai écrit un guide sur la façon de procéder: Débogage de SSL dans Java en utilisant mitmproxy

13
capotej