curl:RSA_padding_check_PKCS1_type_1:无效的填充

时间:2019-03-05 06:56:43

标签: c ssl curl openssl tls1.3

我正在通过代码(使用OpenSSL API)为服务器应用程序生成X509证书。我刚刚通过在代码的受支持列表中添加TLSv1.3密码来添加对TLSv1.3的支持。

证书生成以及为证书分配RSA pub +私钥的过程没有变化。

我已经在客户端上升级了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(使用相同的升级客户端),也会出现相同的错误。

我在这里想念什么?请帮忙。

1 个答案:

答案 0 :(得分:0)

我知道这是一个古老的文件,但是我遇到了同样的问题,因为我从Windows复制了一个包含CRLF而不是LF的PEM文件。

使用cat -v cert.pem进行检查。