NegotiateStream.BeginAuthenticateAsServer メソッド

定義

クライアントとサーバー間の接続のサーバー側の認証を処理する非同期操作を開始します。Begins an asynchronous operation to handle the server side of authenticating a client-server connection.

オーバーロード

BeginAuthenticateAsServer(NetworkCredential, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定したサーバーの資格情報と認証オプションを使用します。The authentication process uses the specified server credentials and authentication options. このメソッドはブロックしません。This method does not block.

BeginAuthenticateAsServer(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定したサーバーの資格情報、認証オプション、および拡張保護ポリシーが使用されます。The authentication process uses the specified server credentials, authentication options, and extended protection policy. このメソッドはブロックしません。This method does not block.

BeginAuthenticateAsServer(AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. このメソッドはブロックしません。This method does not block.

BeginAuthenticateAsServer(ExtendedProtectionPolicy, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した拡張保護ポリシーが使用されます。The authentication process uses the specified extended protection policy. このメソッドはブロックしません。This method does not block.

注釈

認証の実行中は、このメソッドのオーバーロードはブロックされません。The overloads of this method do not block while the authentication is in progress. 認証の完了を待機している間にブロックするには、AuthenticateAsServer メソッドを使用します。To block while waiting for the authentication to complete, use the AuthenticateAsServer method.

BeginAuthenticateAsServer(NetworkCredential, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定したサーバーの資格情報と認証オプションを使用します。The authentication process uses the specified server credentials and authentication options. このメソッドはブロックしません。This method does not block.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Net::NetworkCredential ^ credential, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。One of the ProtectionLevel values, indicating the security services for the stream.

requiredImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。One of the TokenImpersonationLevel values, indicating how the server can use the client's credentials to access resources.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

credentialnull です。credential is null.

requiredImpersonationLevel は、IdentificationImpersonation、または Delegation である必要があります。requiredImpersonationLevel must be Identification, Impersonation, or Delegation,

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

このオブジェクトは閉じられました。This object has been closed.

認証が既に発生しました。Authentication has already occurred.

または-or-

このストリームは、かつて、クライアントとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the client. このストリームを使用して、サーバーとして認証を再試行することはできません。You cannot use the stream to retry authentication as the server.

Windows 95 と Windows 98 はサポートされていません。Windows 95 and Windows 98 are not supported.

注釈

requiredProtectionLevel パラメーターを使用して、認証されたストリームを使用して送信されるデータのセキュリティサービスを要求します。Use the requiredProtectionLevel parameter to request security services for data transmitted using the authenticated stream. たとえば、データを暗号化して署名するには、EncryptAndSign 値を指定します。For example, to have the data encrypted and signed, specify the EncryptAndSign value. 認証が成功しても、要求された ProtectionLevel が許可されているとは限りません。Successful authentication does not guarantee that, the requested ProtectionLevel has been granted. NegotiateStreamによって使用されているセキュリティサービスを確認するには、IsEncryptedIsSigned のプロパティを確認する必要があります。You must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream.

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、AuthenticateAsServer メソッドオーバーロードのいずれかを使用します。To block until the operation completes, use one of the AuthenticateAsServer method overloads.

非同期認証操作は、EndAuthenticateAsServer メソッドを呼び出すことによって完了する必要があります。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsServer method. 通常、メソッドは asyncCallback デリゲートによって呼び出されます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗すると、AuthenticationException または InvalidCredentialExceptionが表示されます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

セキュリティ

SecurityPermission
明示的な NetworkCredentialを使用する場合は。to use the explicit NetworkCredential. ControlPrincipal (関連する列挙体)Associated enumeration: ControlPrincipal.

BeginAuthenticateAsServer(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定したサーバーの資格情報、認証オプション、および拡張保護ポリシーが使用されます。The authentication process uses the specified server credentials, authentication options, and extended protection policy. このメソッドはブロックしません。This method does not block.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

policy
ExtendedProtectionPolicy

拡張保護に使用する ExtendedProtectionPolicyThe ExtendedProtectionPolicy that is used for extended protection.

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。One of the ProtectionLevel values, indicating the security services for the stream.

requiredImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。One of the TokenImpersonationLevel values, indicating how the server can use the client's credentials to access resources.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

CustomChannelBinding パラメーターで渡された拡張保護ポリシーの CustomServiceNamespolicy は、どちらも null です。The CustomChannelBinding and CustomServiceNames on the extended protection policy passed in the policy parameter are both null.

credentialnull です。credential is null.

requiredImpersonationLevel は、IdentificationImpersonation、または Delegation である必要があります。requiredImpersonationLevel must be Identification, Impersonation, or Delegation,

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証が既に発生しました。Authentication has already occurred.

または-or-

このストリームは、かつて、クライアントとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the client. このストリームを使用して、サーバーとして認証を再試行することはできません。You cannot use the stream to retry authentication as the server.

Windows 95 と Windows 98 はサポートされていません。Windows 95 and Windows 98 are not supported.

このオブジェクトは閉じられました。This object has been closed.

拡張保護をサポートしていないプラットフォームで、policy パラメーターが Always に設定されました。The policy parameter was set to Always on a platform that does not support extended protection.

注釈

requiredProtectionLevel パラメーターを使用して、認証されたストリームを使用して送信されるデータのセキュリティサービスを要求します。Use the requiredProtectionLevel parameter to request security services for data transmitted using the authenticated stream. たとえば、データを暗号化して署名するには、EncryptAndSign 値を指定します。For example, to have the data encrypted and signed, specify the EncryptAndSign value. 認証が成功しても、要求された ProtectionLevel が許可されているとは限りません。Successful authentication does not guarantee that, the requested ProtectionLevel has been granted. NegotiateStreamによって使用されているセキュリティサービスを確認するには、IsEncryptedIsSigned のプロパティを確認する必要があります。You must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream.

policy パラメーターが nullの場合、拡張保護ポリシーが使用され、PolicyEnforcementNeverに設定されます。If the policy parameter is null, then an extended protection policy is used that has PolicyEnforcement set to Never.

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、AuthenticateAsServer メソッドオーバーロードのいずれかを使用します。To block until the operation completes, use one of the AuthenticateAsServer method overloads.

非同期認証操作は、EndAuthenticateAsServer メソッドを呼び出すことによって完了する必要があります。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsServer method. 通常、メソッドは asyncCallback デリゲートによって呼び出されます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗すると、AuthenticationException または InvalidCredentialExceptionが表示されます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

こちらもご覧ください

BeginAuthenticateAsServer(AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. このメソッドはブロックしません。This method does not block.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : AsyncCallback * obj -> IAsyncResult

パラメーター

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

このオブジェクトは閉じられました。This object has been closed.

Windows 95 と Windows 98 はサポートされていません。Windows 95 and Windows 98 are not supported.

注釈

認証では、サーバーの DefaultCredentialsを使用します。The authentication uses the server's DefaultCredentials. サーバーに対してサービスプリンシパル名 (SPN) が指定されていません。No Service Principal Name (SPN) is specified for the server. 偽装レベルが Identificationの場合、セキュリティレベルは EncryptAndSignです。The impersonation level is Identification, the security level is EncryptAndSign.

認証が成功したら、IsEncryptedIsSigned のプロパティを確認して、NegotiateStreamによって使用されているセキュリティサービスを特定する必要があります。When authentication succeeds, you must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream. IsMutuallyAuthenticated プロパティを調べて、相互認証が行われたかどうかを確認します。Check the IsMutuallyAuthenticated property to determine whether mutual authentication occurred.

操作が完了するまでブロックするには、AuthenticateAsServer メソッドオーバーロードのいずれかを使用します。To block until the operation completes, use one of the AuthenticateAsServer method overloads.

認証に失敗すると、AuthenticationException または InvalidCredentialExceptionが表示されます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

セキュリティ

SecurityPermission
明示的な NetworkCredentialを使用する場合は。to use the explicit NetworkCredential. ControlPrincipal (関連する列挙体)Associated enumeration: ControlPrincipal.

BeginAuthenticateAsServer(ExtendedProtectionPolicy, AsyncCallback, Object)

サーバーによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した拡張保護ポリシーが使用されます。The authentication process uses the specified extended protection policy. このメソッドはブロックしません。This method does not block.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * AsyncCallback * obj -> IAsyncResult

パラメーター

policy
ExtendedProtectionPolicy

拡張保護に使用する ExtendedProtectionPolicyThe ExtendedProtectionPolicy that is used for extended protection.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

CustomChannelBinding パラメーターで渡された拡張保護ポリシーの CustomServiceNamespolicy は、どちらも null です。The CustomChannelBinding and CustomServiceNames on the extended protection policy passed in the policy parameter are both null.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

Windows 95 と Windows 98 はサポートされていません。Windows 95 and Windows 98 are not supported.

このオブジェクトは閉じられました。This object has been closed.

拡張保護をサポートしていないプラットフォームで、policy パラメーターが Always に設定されました。The policy parameter was set to Always on a platform that does not support extended protection.

注釈

認証では、サーバーの DefaultCredentialsを使用します。The authentication uses the server's DefaultCredentials. サーバーに対してサービスプリンシパル名 (SPN) が指定されていません。No Service Principal Name (SPN) is specified for the server. 偽装レベルが Identificationの場合、セキュリティレベルは EncryptAndSignです。The impersonation level is Identification, the security level is EncryptAndSign.

policy パラメーターが nullの場合、拡張保護ポリシーが使用され、PolicyEnforcementNeverに設定されます。If the policy parameter is null, then an extended protection policy is used that has PolicyEnforcement set to Never.

認証が成功したら、IsEncryptedIsSigned のプロパティを確認して、NegotiateStreamによって使用されているセキュリティサービスを特定する必要があります。When authentication succeeds, you must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream. IsMutuallyAuthenticated プロパティを調べて、相互認証が行われたかどうかを確認します。Check the IsMutuallyAuthenticated property to determine whether mutual authentication occurred.

操作が完了するまでブロックするには、AuthenticateAsServer メソッドオーバーロードのいずれかを使用します。To block until the operation completes, use one of the AuthenticateAsServer method overloads.

認証に失敗すると、AuthenticationException または InvalidCredentialExceptionが表示されます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

こちらもご覧ください

適用対象