StreamSocket.UpgradeToSslAsync(SocketProtectionLevel, HostName) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 프로토콜 협상의 클라이언트 부분만 구현합니다.