TLS1.2 via SChannel: Servidor fornecendo certificados em vez de emissores

0

Durante o handshake do TLS1.2, obtenho do servidor uma lista de certificados confiáveis. Eu suponho, estes devem ser os emissores que o servidor confia. O OpenSSL os chama Acceptable client certificate CA names , então esses são emissores de certificados !? No entanto, o nome do meu certificado cliente está lá, mas não o nome do emissor do certificado do cliente. (Para o OpenSSL, isso parece estar bem.)

Isso é um erro na implementação do servidor?

Existe uma maneira de usar o schannel (por exemplo, via cURL no Windows, mas também o .NET) para continuar fornecendo meu certificado? Pelo que entendi, o schannel percebe que o emissor do meu certificado não está listado lá, então ele não usa esse certificado. Por isso, o aperto de mão falha. Pode-se forçar um schannel a usar um certificado específico, mesmo que o emissor não esteja listado?

edit 1. Para esclarecer, eu só quero falar com o servidor, que não está sob meu controle. A implementação do meu cliente deve ser baseada em C # / .Net e idealmente schannel, assim, estou testando até agora com cURL (schannel); Infelizmente, o servidor deve ser considerado como uma constante (desconhecida).

Obrigado!

    
por jonathan 21.04.2018 / 20:31

0 respostas