Во время рукопожатия TLS1.2 я получаю с сервера список доверенных сертификатов. Я предполагаю, что это должны быть эмитенты, которым доверяет сервер. OpenSSL называет их Acceptable client certificate CA names , так что это эмитенты сертификатов !? Однако там есть имя моего клиентского сертификата, а не имя издателя клиентского сертификата. (Для OpenSSL это нормально.)

Это ошибка в реализации сервера?

Есть ли способ использовать schannel (например, через cURL под Windows, но также .NET) для предоставления моего сертификата? Как я понимаю Schannel, он понимает , что эмитент моего сертификата нет в списке нет, поэтому он не использует этот сертификат. Следовательно, рукопожатие терпит неудачу. Можно ли заставить schannel использовать определенный сертификат, даже если эмитент не указан в списке?

редактировать 1. Чтобы уточнить, я просто хочу поговорить с сервером, который не находится под моим контролем. Моя клиентская реализация должна быть основана на C #/. Net и в идеале schannel, поэтому я тестирую до сих пор с помощью cURL (schannel); К сожалению, сервер должен рассматриваться как (неизвестная) константа.

Спасибо!

0