6

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

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

4

1 回答 1

1

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

用于cat -v cert.pem检查它。

于 2019-10-30T17:05:54.250 回答