1

問題は、クロム Web ブラウザーがサーバーの証明書を検証できないため、SslStream が常に 0 バイトを読み取ることでした。

msdn サンプル コードを参照してください: https://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v=vs.110).aspx

makecert.exe を使用してサーバー側の証明書を作成しました。

makecert    
    -pe                                     Exportable private key
    -n "CN=Test"                            Subject name
    -ss my                                  Certificate store name
    -sr LocalMachine                        Certificate store location
    -a sha1                                 Signature algorithm
    -sky signature                          Subject key type is for signature purposes
    -r                                      Make a self-signed cert
    "output.cer"                            Output filename

2. 生成された証明書ファイルをローカル コンピューター -> 信頼されたルート証明機関に正常にインストールしました。

  1. サーバーを起動し、Web ブラウザーからhttps://localhostにアクセスします

(ネットワーク ストリームに基づいて作成された) SslStream から Read メソッドを呼び出すと、常に 0 バイトが返されます。

ブラウザーが SslStream と正常に通信できるようにするために、不足している手順はありますか?

4

1 に答える 1

1

CN を test から localhost に変更すると、Chrome Web ブラウザーは sslstream と通信できました。

于 2015-06-04T02:13:24.207 に答える