2016-05-03 4 views
1

私のtls.ConfigはECDHE交換を使用しないように設定されているため、クライアントの鍵を取得することなくwiresharkでトラフィックを監視できます。 Wiresharkのトラフィックを分析する際golang tls.Config CiperSuitesはクライアントの認証を制限しません

config = &tls.Config{ 
    Certificates:    []tls.Certificate{cpair}, 
    MinVersion:    tls.VersionTLS12, 
    PreferServerCipherSuites: true, 
    ClientAuth: tls.NoClientCert, 
    CipherSuites: []uint16{tls.TLS_RSA_WITH_AES_256_CBC_SHA, 
     tls.TLS_RSA_WITH_RC4_128_SHA, 
     tls.TLS_RSA_WITH_AES_128_CBC_SHA, 
    }, 
} 

しかし、私はまだ接続がECDHEのciperのsuieteで作られて参照してください。

62 ssl_decrypt_pre_master_secret: session uses Diffie-Hellman key exchange 
(cipher suite 0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) 
and cannot be decrypted using a RSA private key file. 

答えて

0

は、私は、Apacheの私のリバースプロキシを忘れ判明します。

wiresharkのは

、https接続用のポート443上で探していたが、私は成功したのapacheの中のssl.confにSSLCipherSuitesを制限することができました

サーバーのポート上のApacheの間の通信と私のサーバーをフィルタリングました構成とトラフィックを分析することができました

私はapacheが逆のプロキシの私のgoプログラムにデータを渡していたと仮定しています。これはApacheを引き起こし、tls.Configに基づいて接続をネゴシエートするようになりました。その通信がlocalhost上の別のポートにあったため(iローカルホストではなく、私のIPアドレスのポート443に基づいてwiresharkをフィルタリングしていました。これはapacheとgoが通信する方法です)

関連する問題