1

ssl を使用して ac# アプリから mysql に接続しようとしています。以下は私の接続文字列です:

 server = "xxx.xxx.xxx.xxx";
        database = "sqlserver";
        uid = "sqlserver";
        password = "password";
        cert_file = "client-cert.pfx";      
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + "; CertificateFile=" + cert_file + "; CertificatePassword=admin; SslMode=Required";

これはエラーです:

System.IO.IOException: トランスポート ストリームから予期しない EOF または 0 バイトを受信しました。System.Net.FixedSizeReader.ReadPacket (Byte[] バッファー、Int32 オフセット、Int32 カウント) で System.Net.Security.SslState.StartReadFrame (Byte[] バッファー、Int32 readBytes、AsyncProtocolRequest asyncRequest) で System.Net.Security.SslState System.Net.Security.SslState.ForceAuthentication の .StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) (Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) の MySql. Data.MySqlClient.NativeDriver.StartSSL() で MySql.Data.MySqlClient.NativeDriver.Open() で MySql.Data.MySqlClient.Driver.Open() で MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder 設定) で MySql.データ。

問題は自分のファイルだと思っていましたが、そうではないことがわかりました...だから迷っています

4

1 に答える 1

0
server = "xxx.xxx.xxx.xxx";

ほとんどの場合、SSL 証明書はホスト名のパターンを定義します (例: *.google.com)。SSL 認証中に、ホスト名が正しいドメインからのものであることが検証されます。サーバーの IP アドレスを使用すると、このチェックが失敗します。

ホスト名をサーバーとして設定して、異なる結果が得られるかどうかを確認します。

于 2012-11-29T09:05:21.910 に答える