Запрос сертификата и сертификат в магазине не соответствует

472
Athul k Surendran

Я пытаюсь подключиться к стороннему API, для которого включена настройка взаимной аутентификации TLS. Поэтому я должен установить свои клиентские сертификаты внутри своего хранилища ключей и отправить их по процессу рукопожатия TLS. Я сделал установку сертификации сейчас, и запрос сертификата сервера выглядит следующим образом

enter image description here

И мои свойства сертификата это

enter image description here enter image description here

enter image description here

И когда я пытаюсь подключиться, я получаю такую ​​ошибку на Schannel

Удаленный сервер запросил аутентификацию клиента TLS, но не удалось найти подходящий сертификат клиента. Будет предпринята попытка анонимного подключения. Этот запрос на соединение TLS может быть успешным или неуспешным, в зависимости от настроек политики сервера.

Поэтому я предполагаю, что запрос и доступный сертификат не совпадают. Кто-нибудь может указать, какое свойство на сертификате не соответствует запросу?

CertUtility предоставляет этот результат, когда я запускаю его против файла pfx, который у меня есть

 ================ Certificate 0 ================ ================ Begin Nesting Level 1 ================ Element 0: Serial Number: xxxxxxxxxxxxxxxxxxxxxxx Issuer: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB NotBefore: 12-02-2014 05:30 NotAfter: 12-02-2029 05:29 Subject: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB Non-root Certificate Cert Hash(sha1): xxxxxxxxxxxxxxxxxxxxxxxxx ---------------- End Nesting Level 1 ---------------- No key provider information Cannot find the certificate and private key for decryption.  ================ Certificate 1 ================ ================ Begin Nesting Level 1 ================ Element 1: Serial Number: xxxxxxxxxxxxxxxxxxxxxxx Issuer: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB NotBefore: 16-02-2018 05:30 NotAfter: 12-12-2018 05:29 Subject: CN=www.domain.com, OU=PositiveSSL, OU=Domain Control Validated Non-root Certificate Cert Hash(sha1): xxxxxxxxxxxxxxxxxxxxxxxxxx ---------------- End Nesting Level 1 ---------------- Provider = Microsoft Enhanced Cryptographic Provider v1.0 Encryption test passed CertUtil: -dump command completed successfully. 

Примечание. У меня есть два сертификата в этом PFX. Первый - это сертификат посредника, а второй - настоящий сертификат.

1
Это сертификат сервера. Посмотрите на расширение расширенного использования ключей. garethTheRed 6 лет назад 0
@garethTheRed это полное значение аутентификации сервера EKU (1.3.6.1.5.5.7.3.1) аутентификации клиента (1.3.6.1.5.5.7.3.2), поэтому я предполагаю, что она также может использоваться в качестве сертификата клиента. Извините за плохой скриншот Athul k Surendran 6 лет назад 0
Может быть лучше, если вы сохраните локальную копию сертификата, а затем запустите `certutil `против этого. Вставьте вывод в свой вопрос после удаления таких вещей, как подпись и открытый ключ, чтобы сэкономить место. Вы сохранили его в хранилище ключей пользователя (`certmgr.msc`), в отличие от хранилища ключей машины, не так ли? garethTheRed 6 лет назад 0
@garethTheRed Я обновил свой вопрос, указав данные, которые вы задали, и раньше я пробовал и текущий пользователь, и локальные машины (на самом деле я работаю над этой же проблемой в течение последних 10 дней :(, оба выдают ту же ошибку, как объяснено в вопросе Athul k Surendran 6 лет назад 0

0 ответов на вопрос