0

我有一个客户端应用程序。服务器应用程序给了我一个 PEM 文件,并要求我使用 SSL 进行连接。我使用stunnel并将认证文件指定为PEM文件,并设置client=yes。当我运行 stunnel 时,我在启动时看到以下错误:

[!] 错误队列::错误::SSL 例程:SSL_CTX_use_PrivateKey_file:PEM 库
[!] SSL_CTX_use_PrivateKey_file::error::PEMroutines:PEM_read_bio:no start line

PEM 文件看起来没问题,它有 -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----。我用

openssl x509 -inform PERM -in filename.pem -text 

查看内容,它看起来不错。

知道会出什么问题吗?

4

2 回答 2

3

我猜您想使用给定的证书来验证连接,因此您需要将其指定为 CAfile。相反,您可能所做的是将其指定为客户端证书,该证书将发送到服务器以对客户端进行身份验证。但这只是一个猜测,因为您没有在问题中提供配置。

如果您真的想使用客户端身份验证,那么您还必须提供与证书匹配的私钥。如果您没有指定密钥,它将在 cert 文件中查找它,在您的情况下,它没有在那里找到它。

于 2014-10-21T21:16:50.013 回答
0

我遇到过同样的问题。不明白证书和配置文件在同一目录下。所以,我必须写出证书的完整路径。

cert = /etc/stunnel/xxxxxxxxxx.crt
key = /etc/stunnel/xxxxxxxxxxx.key
于 2019-05-17T07:46:17.463 回答