NegotiateStream.BeginAuthenticateAsClient メソッド

定義

クライアントとサーバー間の接続のクライアント側を認証する非同期操作を開始します。

オーバーロード

BeginAuthenticateAsClient(AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 このメソッドはブロックしません。

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報を使用します。 このメソッドはブロックしません。

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報およびチャネル バインディングが使用されます。 このメソッドはブロックしません。

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報と認証オプションを使用します。 このメソッドはブロックしません。

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報、認証オプション、およびチャネル バインディングが使用されます。 このメソッドはブロックしません。

注釈

認証の進行中は、このメソッドのオーバーロードはブロックされません。 認証が完了するまで待機している間にブロックするには、いずれかの方法を AuthenticateAsClient 使用します。

BeginAuthenticateAsClient(AsyncCallback, Object)

ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 このメソッドはブロックしません。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

パラメーター

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState
Object

操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。

例外

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

このオブジェクトは閉じられました。

認証が既に発生しました。

- または -

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。 ストリームを使用して、クライアントとして認証を再試行することはできません。

次の例では、このメソッドを呼び出してクライアントの非同期認証を開始する方法を示します。

// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry^ ipHostInfo = Dns::GetHostEntry( Dns::GetHostName() );
IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ];

// Client and server use port 11000. 
IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 );

// Create a TCP/IP socket.
client = gcnew TcpClient;

// Connect the socket to the remote endpoint.
client->Connect( remoteEP );
Console::WriteLine( L"Client connected to {0}.", remoteEP );

// Ensure the client does not close when there is 
// still data to be sent to the server.
client->LingerState = (gcnew LingerOption( true,0 ));

// Request authentication.
NetworkStream^ clientStream = client->GetStream();
NegotiateStream^ authStream = gcnew NegotiateStream( clientStream,false );

// Pass the NegotiateStream as the AsyncState object 
// so that it is available to the callback delegate.
IAsyncResult^ ar = authStream->BeginAuthenticateAsClient( gcnew AsyncCallback( EndAuthenticateCallback ), authStream );

// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
IPAddress ipAddress = ipHostInfo.AddressList[0];
// Client and server use port 11000.
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
client = new TcpClient();
// Connect the socket to the remote endpoint.
client.Connect(remoteEP);
Console.WriteLine("Client connected to {0}.", remoteEP.ToString());
// Ensure the client does not close when there is
// still data to be sent to the server.
client.LingerState = new LingerOption(true, 0);
// Request authentication.
NetworkStream clientStream = client.GetStream();
NegotiateStream authStream = new NegotiateStream(clientStream, false);
// Pass the NegotiateStream as the AsyncState object
// so that it is available to the callback delegate.
Task authenticateTask = authStream
    .AuthenticateAsClientAsync()
    .ContinueWith(task =>
    {
        Console.WriteLine("Client ending authentication...");
        Console.WriteLine("ImpersonationLevel: {0}", authStream.ImpersonationLevel);
    });

' Establish the remote endpoint for the socket.
' For this example, use the local machine.
Dim ipHostInfo = Dns.GetHostEntry("localhost")
Dim ipAddress = ipHostInfo.AddressList(0)

' Client and server use port 11000. 
Dim remoteEP As New IPEndPoint(ipAddress, 11000)

' Create a TCP/IP socket.
client = New TcpClient()

' Connect the socket to the remote endpoint.
client.Connect(remoteEP)
Console.WriteLine("Client connected to {0}.", remoteEP.ToString())

' Ensure the client does not close when there is 
' still data to be sent to the server.
client.LingerState = (New LingerOption(True, 0))

' Request authentication.
Dim clientStream = client.GetStream()
Dim authStream As New NegotiateStream(clientStream, False)

' Pass the NegotiateStream as the AsyncState object 
' so that it is available to the callback delegate.
Dim ar = authStream.BeginAuthenticateAsClient(
    New AsyncCallback(AddressOf EndAuthenticateCallback), authStream)

注釈

認証では、クライアント DefaultCredentialsの を使用します。 サーバーにサービス プリンシパル名 (SPN) が指定されていない。 偽装レベルは で Identification、セキュリティ レベルは です EncryptAndSign。 クラスは NegotiateStream 、相互認証に使用される SPN を構築します。

このメソッドは非同期であり、操作の完了中はブロックされません。 操作が完了するまでブロックするには、いずれかのメソッド オーバーロードを AuthenticateAsClient 使用します。

非同期認証操作は、 メソッドを呼び出して完了する EndAuthenticateAsClient 必要があります。 通常、 メソッドはデリゲートによって asyncCallback 呼び出されます。 非同期プログラミング モデルの使用の詳細については、「同期メソッドの非同期呼び出し」を参照してください。

認証に失敗した場合は、 または をAuthenticationExceptionInvalidCredentialException受け取ります。 この場合は、別の資格情報を使用して認証を再試行できます。

適用対象

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報を使用します。 このメソッドはブロックしません。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredential

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。

例外

credentialnull です。

または

targetNamenullです。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

このオブジェクトは閉じられました。

認証が既に発生しました。

- または -

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。 ストリームを使用して、クライアントとして認証を再試行することはできません。

注釈

このメソッドは非同期であり、操作の完了中はブロックされません。 操作が完了するまでブロックするには、いずれかのメソッド オーバーロードを AuthenticateAsClient 使用します。

非同期認証操作は、 メソッドを呼び出して完了する EndAuthenticateAsClient 必要があります。 通常、 メソッドはデリゲートによって asyncCallback 呼び出されます。 非同期プログラミング モデルの使用の詳細については、「同期メソッドの非同期呼び出し」を参照してください。

認証に失敗した場合は、 または をAuthenticationExceptionInvalidCredentialException受け取ります。 この場合は、別の資格情報を使用して認証を再試行できます。

適用対象

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報およびチャネル バインディングが使用されます。 このメソッドはブロックしません。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredential

binding
ChannelBinding

拡張保護に使用する ChannelBinding

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。

例外

credentialnull です。

または

targetNamenullです。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証が既に発生しました。

- または -

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。 ストリームを使用して、クライアントとして認証を再試行することはできません。

このオブジェクトは閉じられました。

注釈

このメソッドは非同期であり、操作の完了中はブロックされません。 操作が完了するまでブロックするには、いずれかのメソッド オーバーロードを AuthenticateAsClient 使用します。

非同期認証操作は、 メソッドを呼び出して完了する EndAuthenticateAsClient 必要があります。 通常、 メソッドはデリゲートによって asyncCallback 呼び出されます。 非同期プログラミング モデルの使用の詳細については、「非同期的に同期メソッドを呼び出す」を参照してください。

認証が失敗した場合は、 または をAuthenticationExceptionInvalidCredentialException受け取ります。 この場合は、別の資格情報で認証を再試行できます。

こちらもご覧ください

適用対象

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報と認証オプションを使用します。 このメソッドはブロックしません。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredential

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。

allowedImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。

例外

credentialnull です。

または

targetNamenullです。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

このオブジェクトは閉じられました。

認証が既に発生しました。

- または -

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。 ストリームを使用して、クライアントとして認証を再試行することはできません。

注釈

パラメーターを requiredProtectionLevel 使用して、認証済みストリームを使用して送信されるデータのセキュリティ サービスを要求します。 たとえば、データを暗号化して署名するには、 値を指定します EncryptAndSign 。 認証が成功しても、要求された ProtectionLevel が許可されたことは保証されません。 および プロパティをチェックIsEncryptedIsSignedして、 によって使用されるセキュリティ サービスを決定するNegotiateStream必要があります。

このメソッドは非同期であり、操作の完了中はブロックされません。 操作が完了するまでブロックするには、いずれかのメソッド オーバーロードを AuthenticateAsClient 使用します。

非同期認証操作は、 メソッドを呼び出して完了する EndAuthenticateAsClient 必要があります。 通常、 メソッドはデリゲートによって asyncCallback 呼び出されます。 非同期プログラミング モデルの使用の詳細については、「非同期的に同期メソッドを呼び出す」を参照してください。

認証が失敗した場合は、 または をAuthenticationExceptionInvalidCredentialException受け取ります。 この場合は、別の資格情報で認証を再試行できます。

適用対象

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs
ソース:
NegotiateStream.cs

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。 認証プロセスでは、指定した資格情報、認証オプション、およびチャネル バインディングが使用されます。 このメソッドはブロックしません。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredential

binding
ChannelBinding

拡張保護に使用する ChannelBinding

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。

allowedImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。

例外

credentialnull です。

または

targetNamenullです。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証に失敗しました。 このオブジェクトを使用して、認証を再試行できます。

認証が既に発生しました。

- または -

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。 ストリームを使用して、クライアントとして認証を再試行することはできません。

このオブジェクトは閉じられました。

注釈

パラメーターを requiredProtectionLevel 使用して、認証済みストリームを使用して送信されるデータのセキュリティ サービスを要求します。 たとえば、データを暗号化して署名するには、 値を指定します EncryptAndSign 。 認証が成功しても、要求された ProtectionLevel が許可されたことは保証されません。 および プロパティをチェックIsEncryptedIsSignedして、 によって使用されるセキュリティ サービスを決定するNegotiateStream必要があります。

このメソッドは非同期であり、操作の完了中はブロックされません。 操作が完了するまでブロックするには、いずれかのメソッド オーバーロードを AuthenticateAsClient 使用します。

非同期認証操作は、 メソッドを呼び出して完了する EndAuthenticateAsClient 必要があります。 通常、 メソッドはデリゲートによって asyncCallback 呼び出されます。 非同期プログラミング モデルの使用の詳細については、「非同期的に同期メソッドを呼び出す」を参照してください。

認証が失敗した場合は、 または をAuthenticationExceptionInvalidCredentialException受け取ります。 この場合は、別の資格情報で認証を再試行できます。

こちらもご覧ください

適用対象