我正在通过代码(使用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(使用相同的升级客户端),也会出现相同的错误。
我在这里想念什么?请帮忙。
答案 0 :(得分:0)
我知道这是一个古老的文件,但是我遇到了同样的问题,因为我从Windows复制了一个包含CRLF而不是LF的PEM文件。
使用cat -v cert.pem
进行检查。