sql >> データベース >  >> RDS >> Mysql

MySqlConnection(.NET)を使用してMySqlサーバーにSSL接続すると、特定のクライアントから失敗します

    TLSプロトコルを分析しているときに、自分で解決策を見つけました。上記の例で機能しないクライアントが、ハンドシェイク中にクライアント証明書を送信していることがわかりました。および動作するクライアント それをしません。どうやら暗号化はとにかく確立されており(私はTLSプロトコルを継続していません)、おそらく証明書交換/鍵交換がさらに行われるでしょう。

    接続を機能させるために私がしなければならなかったのは、接続文字列を変更し、すべての証明書*=キーを削除することだけでした。特に「CertificateStoreLocation=CurrentUser」。現在機能しているMySqlSSL接続文字列は次のとおりです。

    server=xxx.yyy.zzz.uuu;database=whopper;user=Username;password=Secret;Pooling=false;SSL Mode=Required;Keepalive=60
    

    また、補足として、通信を分析している間、VPN通信中の傍受と分析においてTamosCommViewがWireSharkよりも優れた仕事をしていることがわかりました。おそらく、Windows7x64でVPNパケットを分析するWinPCapsの機能障害が原因です。また、CommViewのTLSディセクタは、ハンドシェイクの問題を見つけるのに本当に役立ちました。

    また、2番目のサイドノートとして。 WindowsでのすべてのSSL/TLS通信は、schannel.dllと呼ばれるDLLによって処理されます。そのdllのシステムEventLogへの完全なログインは、値7でDWORD HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLoggingを作成することで有効にできます。詳細はこちら: http://support.microsoft.com/kb/260729

    それを機能させるために。ものを削除します。




    1. 公式のMicrosoftAccessTechブログがオンラインになりました!

    2. Mysql-データのアーカイブ、どのソリューションを使用しますか?

    3. MySQLロールアップの使用方法

    4. Oracleを学ぶ前に知っておくべきこと