Устранение ошибки рукопожатия sslv3 при попытке использовать сертификат клиента

Я пытаюсь подключиться к сервису, который требует сертификат для авторизации. Процесс в том, что я отправляю сервису файл CSR. Служба подписывает CSR и отправляет мне сертификат, который я использую для подключения.

Я сгенерировал CSR с помощью следующей командной строки:

openssl req -new -nodes -newkey rsa:2048 -keyout cert.key -out cert.csr

Я взял содержимое cert.csr и отправил им. Они генерируют сертификат клиента, и я получил обратно файл PEM.

Теперь я пытаюсь подключиться, используя их файл сертификата в SSLCERT для curl () и предоставляя закрытый ключ от cert.key как CURLOPT_SSLKEY - (который я получил на шаге 1).

Сбой с:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Что я делаю не так в этом процессе?

Оно работает когда я пытаюсь получить тестовый сертификат, включая закрытый ключ от службы (самозаверяющий сертификат). Но когда я использую сертификат, сгенерированный из моего CSR, а затем использую мой закрытый ключ в качестве ключа, происходит ошибка при сбое рукопожатия.

Так что я знаю, что это не имеет никакого отношения к тому, что openssl / curl не поддерживает v3 / TLS и т. Д., Что другие, когда искали решение, обнаружили, что их проблема была.

Вот что я бегу:

  curl -i -v --request POST https://service.com/ --cert clientcert.pem --key private_key.pem --cert-type pem --tlsv1.1 --insecure
* Connected to service.com (1xx.xxx.xxx.xx) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Request CERT (13):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS handshake, CERT verify (15):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS alert, Server hello (2):
* error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
* Closing connection 0

Запуск следующих версий: curl 7.35.0 (x86_64-pc-linux-gnu) libcurl / 7.35.0 OpenSSL / 1.0.1f zlib / 1.2.8 libidn / 1.28 librtmp / 2.3

Ответы на вопрос(2)

Ваш ответ на вопрос