Secure Socket Control Codes
9/8/2008
Você pode especificar uma determinada operação para executar por chamado WSAIoctl ou WSPIoctl com codificar um controle específico, como definido pelo parâmetro de dwIoControlCode. Este parâmetro permite independência protocolo e fornecedor quando adicionando novos códigos controle, enquanto ele retém compatibilidade com versões anteriores o Winsock 1.1 e códigos controle UNIX.
A seguinte tabela mostra a disponível códigos controle.
Código de controle | Descrição |
---|---|
SO_SSL_GET_PROTOCOLS |
Especifique um protocolo de segurança específico ou determinar os protocolos usar como padrão. Em seguida, chamar WSAIoctl com o código de controle SO_SSL_SET_PROTOCOLS para selecionar os protocolos para ser habilitado. Caso contrário, Windows Embedded CE seleciona o protocolo. |
SO_SSL_PERFORM_HANDSHAKE |
Alternar para Seguro modo e transmitir no nome do servidor destino. |
SO_SSL_SET_FLAGS |
Defina a Soquete no modo determinado pelo sinalizador. De exemplo, se a codificar controle for SO_SSL_SET_FLAGS e o sinalizador sinalizador é definido como SSL_FLAG_DEFER_HANDSHAKE, o Soquete está no modo handshake adiada. |
SO_SSL_SET_PEERNAME |
Certifique-se de que o servidor sobre o Certificado é o mesmo nome como o servidor desejado. |
SO_SSL_SET_PROTOCOLS |
Seleciona os protocolos para ser habilitado. Caso contrário, Windows Embedded CE seleciona o protocolo. |
SO_SSL_SET_VALIDATE_CERT_HOOK |
Especificar a validação função callback Certificado |
Para obter informações sobre a forma para o parâmetro dwIoControlCode, consulte WSAIoctl Ou WSPIoctl.
SO_SSL_SET_PEERNAME
Usando Seguro sockets do Windows (Winsock) soquetes, você pode garantir que o servidor sobre o Certificado tem o mesmo nome como o servidor desejado. Para fazer isso, passando o sinalizador SCH_CRED_NO_SERVERNAME_CHECK o CompletionRoutine.
CompletionRoutine é um espaço reservado para uma função Application-defined ou Library-defined.
Para obter mais informações sobre CompletionRoutine, consulte WSAIoctl. Para obter mais informações sobre o sinalizador SCH_CRED_NO_SERVERNAME_CHECK, consulte SCHANNEL_CRED.
Você deve chamar WSAIoctl Com a codificar controle SO_SSL_SET_PEERNAME após configuração até os Seguro Soquete e antes de fazer a conexão. O seguinte exemplo de código mostra como ele deve ser chamado.
WSAIoctl(m_socket,
SO_SSL_SET_PEERNAME,
"www.<domain>.com", strlen("www.<domain>.com")+1,
NULL, 0,
NULL, NULL, NULL);.
O buffer de entrada, parâmetro 3 é o nome_do_servidor ASCII terminada por caractere nulo. A entrada tamanho do buffer está parâmetro 4.