curl 错误:RSA填充检查PKCS1类型1:无效填充

jmp7cifd  于 2022-11-13  发布在  其他
关注(0)|答案(3)|浏览(359)

我正在通过代码(使用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(使用相同的升级客户端),也会出现相同的错误。
我错过了什么?请帮帮我。

mrwjdhj3

mrwjdhj31#

我知道这是一个旧的,但我只是有同样的问题,因为我复制了一个PEM文件从Windows与CRLF包括,而不是LF。
请使用cat -v cert.pem来检查它。

yquaqz18

yquaqz182#

我在本地主机上用一个自创建的CA颁发一个自签名证书来进行Web开发,但遇到了同样的错误。我多次尝试创建一个有效的SSL证书,但总是出现error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding错误,而且我在操作系统的信任源(manjaro上的/etc/ca-certificates/trust-source)中注册了多个具有相同CN的证书颁发机构。
我如何解决问题:我删除了所有这些“副本”,并运行update-ca-trust重新生成我的系统信任的CA列表。然后导入我自己创建的CA一次,生成一个SSL证书,并使用我的Web服务器中的crt和密钥-最后没有error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding时,CURLing到它!

piah890a

piah890a3#

curl:(35)错误:0407008 A:rsa例程:RSA_padding_check_PKCS1_type_1:无效填充
要避免这种情况,可以使用选项-k
它的工作原理与我们使用postman相同,在设置中,关闭SSL证书验证选项
请在下面找到curl示例以及如何使用-k选项
内容类型:应用程序/json' --header '授权:承载xxxxx' --原始数据'{“至”:“91 xxx”,“型号”:“图像”、“收件人类型”:“个人”、“形象”:{“编号”:“56 dxxxx”,“标题”:“your-image-caption Saket jain你好吗”} }' -k

相关问题