StreamSocket.UpgradeToSslAsync(SocketProtectionLevel, HostName) 方法

定义

启动异步操作,以升级连接的套接字以在 StreamSocket 对象上使用 SSL。

public:
 virtual IAsyncAction ^ UpgradeToSslAsync(SocketProtectionLevel protectionLevel, HostName ^ validationHostName) = UpgradeToSslAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction UpgradeToSslAsync(SocketProtectionLevel const& protectionLevel, HostName const& validationHostName);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction UpgradeToSslAsync(SocketProtectionLevel protectionLevel, HostName validationHostName);
function upgradeToSslAsync(protectionLevel, validationHostName)
Public Function UpgradeToSslAsync (protectionLevel As SocketProtectionLevel, validationHostName As HostName) As IAsyncAction

参数

protectionLevel
SocketProtectionLevel

表示 StreamSocket 对象上的完整性和加密的保护级别。

validationHostName
HostName

升级到 SSL 时用于验证的远程网络目标的主机名。

返回

一个异步操作,用于升级以在 StreamSocket 对象上使用 SSL。

属性

Windows 要求

应用功能
ID_CAP_NETWORKING [Windows Phone]

注解

UpgradeToSslAsync 方法只能用于升级使用 PlainSocket的 SocketProtectionLevel 建立的连接。

建立 SSL 连接的典型操作顺序如下:

  • 创建 StreamSocket
  • 使用 Control 属性获取 StreamSocketControl 对象上的套接字控件数据,并在调用 ConnectAsync 方法之一之前设置任何属性。
  • 调用 ConnectAsync 方法之一以建立与远程终结点的连接。 如果立即需要 SSL/TLS 连接,则可以使用某些 ConnectAsync 方法指定此连接。 如果在发送和接收一些初始数据后需要 SSL/TLS 连接,则可以稍后调用 UpgradeToSslAsync 方法来升级连接以使用 SSL。
  • 获取 OutputStream 属性以将数据写入远程主机。
  • 获取 InputStream 属性以从远程主机读取数据。
  • 根据需要读取和写入数据。
  • 调用 Close 方法可中止任何挂起的操作并释放与 StreamSocket 对象关联的所有非托管资源。 UpgradeToSslAsync 方法要求建立连接的远程服务器能够将 TCP 连接升级到 SSL 连接。

UpgradeToSslAsync 方法只能用于客户端连接。 此方法不能用于将 StreamSocketListener 接受的连接升级到 SSL 连接。 UpgradeToSslAsync 方法仅实现 SSL 协议协商的客户端部分,而不是侦听和接受 SSL 连接所需的服务器部件。

适用于

另请参阅