RemoteCertificateValidationCallback デリゲートとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > RemoteCertificateValidationCallback デリゲートの意味・解説 

RemoteCertificateValidationCallback デリゲート

メモ : このデリゲートは、.NET Framework version 2.0 で新しく追加されたものです。

認証に使用されるリモートの SSL (Secure Sockets Layer) 証明書を検証します。

名前空間: System.Net.Security
アセンブリ: System (system.dll 内)
構文構文

Public Delegate Function
 RemoteCertificateValidationCallback ( _
    sender As Object, _
    certificate As X509Certificate, _
    chain As X509Chain, _
    sslPolicyErrors As SslPolicyErrors _
) As Boolean
Dim instance As New RemoteCertificateValidationCallback(AddressOf
 HandlerMethod)
public delegate bool RemoteCertificateValidationCallback
 (
    Object sender,
    X509Certificate certificate,
    X509Chain chain,
    SslPolicyErrors sslPolicyErrors
)
public delegate bool RemoteCertificateValidationCallback
 (
    Object^ sender, 
    X509Certificate^ certificate, 
    X509Chain^ chain, 
    SslPolicyErrors sslPolicyErrors
)
/** @delegate */
public delegate boolean RemoteCertificateValidationCallback (
    Object sender, 
    X509Certificate certificate, 
    X509Chain chain, 
    SslPolicyErrors sslPolicyErrors
)
JScript では、デリゲートは使用できますが、新規に宣言することはできません。

パラメータ

sender

この検証のステータス情報を格納するオブジェクト。

certificate

リモート側の認証に使用される証明書。

chain

リモートの証明書に関連付けられた証明機関のチェーン。

sslPolicyErrors

リモートの証明書に関連付けられた 1 つ以上のエラー。

戻り値
指定した証明書が認証に使用できるかどうかを判断する Boolean 値。

解説解説
使用例使用例

RemoteCertificateValidationCallback クラスのインスタンスによって呼び出されるメソッドを実装するコード例を次に示します。検証エラーがある場合、このメソッドはそれらを表示し、認証されていないサーバーとの通信を防ぐ false を返します。

      
// The following method is invoked by the RemoteCertificateValidationDelegate.
public static bool ValidateServerCertificate(
      object sender,
      X509Certificate certificate,
      X509Chain chain,
      SslPolicyErrors sslPolicyErrors)
{
   if (sslPolicyErrors == SslPolicyErrors.None)
        return true;

    Console.WriteLine("Certificate error: {0}", sslPolicyErrors);
    
    // Do not allow this client to communicate with unauthenticated
 servers.
    return false;
}

前のコード例で定義されたメソッドを使用してデリゲートを作成するコード例を次に示します。

// Create a TCP/IP client socket.
// machineName is the host running the server application.
TcpClient client = new TcpClient(machineName,443);
Console.WriteLine("Client connected.");
// Create an SSL stream that will close the client's stream.
SslStream sslStream = new SslStream(
    client.GetStream(), 
    false, 
    new RemoteCertificateValidationCallback (ValidateServerCertificate),
 
    null
    );
// The server name must match the name on the server certificate.
try 
{
    sslStream.AuthenticateAsClient(serverName);
} 
catch (AuthenticationException e)
{
    Console.WriteLine("Exception: {0}", e.Message);
    if (e.InnerException != null)
    {
        Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
    }
    Console.WriteLine ("Authentication failed - closing the connection.");
    client.Close();
    return;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Net.Security 名前空間
LocalCertificateSelectionCallback デリゲート



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「RemoteCertificateValidationCallback デリゲート」の関連用語

RemoteCertificateValidationCallback デリゲートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RemoteCertificateValidationCallback デリゲートのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS