无法在openssl中加载证书

在Ubuntu中,当我试图执行openssl s_server -cert server.pem -www我得到以下消息

 unable to load certificate 3074300104:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE 

请帮忙。

server.pem是否是一个证书? 跑

 grep '^-----.*CERTIFICATE' server.pem 

你应该看到证书的开始和结束:

 server.pem:-----BEGIN CERTIFICATE----- server.pem:-----END CERTIFICATE----- 

如果您没有看到此输出,则说明您没有使用有效的证书。

另外,我注意到你正在运行以下不寻常的命令:

 openssl s_server -cert server.pem -www 

这个命令会:

  • s_server – 启动一个非常基本的openssl服务器
  • -cert server.pem – 使用证书server.pem
  • “ – ” – “在连接时向客户端发送状态消息,其中包括有关所使用的密码和各种会话参数的大量信息,输出格式为HTML格式,因此该选项通常将用于Web浏览器。

openssl s_server通常只用于debugging。 你为什么使用openssl s_server ? 你想达到什么目的?