curl: RSA_padding_check_PKCS1_type_1: недопустимое заполнение

Я создаю сертификат X509 с помощью кода (используя API OpenSSL) для своего серверного приложения. Я только что добавил поддержку TLSv1.3, добавив шифры TLSv1.3 в список поддерживаемых в моем коде.

Нет никаких изменений в создании сертификата и назначении сертификату RSA pub + private key.

Я обновил библиотеки curl и OpenSSL на клиенте, чтобы включить соединение TLSv1.3. Обновленная версия Curl: 7.63.0 и версия OpenSSL: 1.1.1

Я вижу ниже ошибку:

* TCP_NODELAY set
* Connected to <domain> (<ip-address>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: myCA.pem
  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [6 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1781 bytes data]
* TLSv1.3 (OUT), TLS alert, decrypt error (563):
} [2 bytes data]
* error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Closing connection 0
curl: (35) error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding

Та же ошибка возникает даже с TLSv1.2 (с использованием того же обновленного клиента).

Что мне здесь не хватает? Пожалуйста помоги.


person Brijesh Valera    schedule 05.03.2019    source источник
comment
Скорее всего, вы сделали что-то не так, создав сертификат(ы). Я беру имя файла myCA.pem, чтобы предположить, что вы используете свой собственный ЦС, а не самоподписанный. Как много? Опубликуйте пример (как полную цепочку, которую можно проверить, но не приватные ключи, если они не являются расходными). Предполагая, что они у вас есть в удобных файлах, попробуйте командную строку openssl verify -CAfile root_and_any_imed.pem -purpose sslserver leaf_only.pem   -  person dave_thompson_085    schedule 06.03.2019


Ответы (1)


Я знаю, что это старый файл, но у меня была такая же проблема, потому что я скопировал файл PEM из Windows с включенным CRLF вместо LF.

Используйте cat -v cert.pem, чтобы проверить это.

person Noël Bardelot    schedule 30.10.2019