質問

こんにちはい問題に遭遇しようとしWebRequest下Https.

また、次のエラー

1.-基になる接続した休館日:接続ができない遠隔のサーバーです。

2.-操作タイムアウト

3-基本となる接続した休館日:が成立しないセキュアなチャネルでSSL/TLSを表示します。

また約3または4つのプロキシを自社の顧客会社とともできない私に直接ISPプロバイダのない制限を取得します上記の誤りを実行する際には、以下の方法

WebRequest.GetRequestStream() 

この背後にプロキシは、要求が受け付けさんのポストからプロセスシステムのレジリエントで背後を行います。プロキシがないのに、クライアント証明書を設置。

これはます。net framework1.1 の要請がすでに含まれているネットワークを格納します。

か?

更新

内側の例外第3回エラーは次の通りです:の機能が正常に終了するというもの

にiisper.h 文書 このエラーに属する

//
// MessageId: SEC_I_CONTINUE_NEEDED
//
// MessageText:
//
//  The function completed successfully, but must be called
//  again to complete the context
//
#define SEC_I_CONTINUE_NEEDED            ((HRESULT)0x00090312L)

MSDN このことは、

SEC_I_CONTINUE_NEEDED のお客様に送付しなければなら、出力トークンのサーバーのビル-エヴァンスを返しのトークンである。返されたトークンを渡された別の電話InitializeSecurityContext(Schannel).出力トークンができます。

このPCがクライアント証明書?

役に立ちましたか?

解決

SSL証明書との矛盾など、複雑になる可能性のあるものは多数あります。しかし、まず、基本的なデバッグを行って明白なものを除外する必要があります。

-簡単なWebリクエストを他のサーバーに送信しようとしましたか? (非セキュア)httpと(セキュア)httpsの両方を試してください

-別のコンピューターまたは別のネットワークから接続しようとしましたか?あなたは、クライアントがプロキシの背後にいると述べました。除外するために、まずプロキシなしのコンピューターを試してください。

-セッション内で複数のWebRequestを作成していますか?オープンリクエストの数には厳しい制限があります。そのため、WebResponseを取得した後にそれらを閉じるようにしてください。たぶん、1つのリクエストだけでテストプログラムを作成します。

それが絞り込まれない場合、おそらくサーバーまたはプロキシの方が複雑です。 netsharkなどのプログラムを使用して、送信ネットワークパケットを追跡し、どこでスタックしているのかを追跡できます。

他のヒント

フィドラーまたはネットワークパケットスニッフィングツールを使用して、HTTPトラフィックのトレースを作成できます。 Ethereal Whireshark が動作しているマシンと他のマシンマシン、および結果を比較します。これはかなり低レベルですが、問題に何らかの光を投げかける可能性があります。

  • できればtelnetから異なる機443ではこれが最初ではありません、そうなると、クライアントマシンが依頼を受けるようになる。

Windowsう

telnet <domainname> 443

場合に接続しますので、画面が真っ白になり(ヒットを返し数回に出口)

  • のプロキシがないので気にご希望の場合は下HTTPSして読むことができないのです。

  • ている他の機器のクライアント証明書の証明書チェーンが装着されていますか。

SSL証明書名はおそらく一致しません。これは、多くの場合、自己署名証明書の場合です。

解決策は、常にtrueを返すか、証明書が有効であることを確認するために必要な認証を行う独自の認証ルーチンを記述することです。

// .NET 2.0+
...
ServicePointManager.ServerCertificateValidationCallback += MyValidationCallback
...
public bool MyValidationCallback(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors err)
{
  return true;
}

// .NET 1.1
public class MyCertificatePolicy : ICertificatePolicy
{
  public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem)
  {
    return true;
  }
}
...
ServicePointManager.CertificatePolicy = new MyCertificatePolicy();
...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top