Implementing a Secure Socket
9/8/2008
O seguinte procedimento descreve como estabelecer um Seguro Soquete conexão.
Para implementar um Seguro Soquete
Criar um Soquete com o Soquete função.
Definir a Soquete em Seguro modo com o setsockopt função. Definir nível Para SOL_SOCKET, OptName Para SO_SECURE, e optval Para um DWORD Defina como SO_SEC_SSL.
Especifique o função callback validação Certificado por chamado WSAIoctl Com o código de controle SO_SSL_SET_VALIDATE_CERT_HOOK.
Para verificar identidade do servidor durante o handshake, chamar WSAIoctl Com o código de controle SO_SSL_SET_PEERNAME.
Nome de servidor é verificado em relação o Certificado servidor após um bem-sucedido SSL handshake. Os resultados da verificação, em seguida, são indicados em callback de validação Certificado. Se o nome servidor especificado não coincide com indicada na cadeia de certificados do SSL Handshake, SSL_CERT_FLAG_ISSUER_UNKNOWN será definida no parâmetro dwFlags de SslValidateCertHook.
Se você não fizer isso executar essa etapa, nenhuma verificação é executada.
Para especificar uma determinada protocolo de segurança, chamar WSAIoctl Com o código de controle SO_SSL_GET_PROTOCOLS para 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.
Fazer uma conexão com a conectar função.
O função callback Certificado é chamado automaticamente. A conexão pode ser concluída somente se o função callback verifica o acceptability do Certificado, retornando SSL_ERR_OKAY.
Transmitir e enviar.
O Enviar e Recv funções automaticamente codificar e decodificar dados.
Quando tiver terminado, fechar o Soquete com o closesocket função.