当前位置:编程学习 > 网站相关 >>

在建立SSL测试环境时遇到的一个问题

我是按照赵春平前辈的方法去建立一个ssl环境的,在最后一步服务器端通过证书与密钥建立ssl3通信时(命令为openssl s_server -cert sslservercert.pem -key sslserverkey.pem -CAfile demoCA/cacert.pem -ssl3)出现了以下的错误
unable to load certificate
2985:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:650:Expecting: TRUSTED CERTIFICATE
上面应该是无法获取证书,但是我前面在创建证书的时候都没有错,请问下这是什么原因呀,求各位帮帮忙吧!!! --------------------编程问答-------------------- 楼主解决了没,我也碰到类似问题 --------------------编程问答-------------------- 证书的路径正确吗? --------------------编程问答--------------------        证书文件有两种编码方式,即二进制编码(扩展名为.cer)与Base64编码(扩展名为.pem)。对于pem格式的公钥证书,其显著特征是,文件的开头第一行必定是“-----BEGIN CERTIFICATE-----”;而cer格式的公钥证书则没有此特征。
       我没有使用服务器软件配置过SSL环境,但以我用openssl编程的经验来说,不同编码方式的证书有不同的加载方式,加载方式和证书格式不匹配就会加载出错。我看你的错误提示,觉得你前面生成的证书可能不是pem格式的,你退回去检查一下吧。
       检查一个证书是否为pem格式也很简单,用记事本打开证书,有固定起始行行“-----BEGIN CERTIFICATE-----”,并且可识别的就是pem格式证书;没有固定起始行,并且显示乱码的就是cer格式的证书。 --------------------编程问答--------------------
引用 3 楼 Ping_Fani07 的回复:
       证书文件有两种编码方式,即二进制编码(扩展名为.cer)与Base64编码(扩展名为.pem)。对于pem格式的公钥证书,其显著特征是,文件的开头第一行必定是“-----BEGIN CERTIFICATE-----”;而cer格式的公钥证书则没有此特征。
       我没有使用服务器软件配置过SSL环境,但以我用openssl编程的经验来说,不同编码方式的证书有不同的加载方式,加载方式和证书格式不匹配就会加载出错。我看你的错误提示,觉得你前面生成的证书可能不是pem格式的,你退回去检查一下吧。
       检查一个证书是否为pem格式也很简单,用记事本打开证书,有固定起始行行“-----BEGIN CERTIFICATE-----”,并且可识别的就是pem格式证书;没有固定起始行,并且显示乱码的就是cer格式的证书。


       不好意思,我要纠正一点,二进制编码的证书文件,其扩展名为der,而非cer,请将我在3楼中所说的cer全部替换成der,学艺不精,见谅~
       证书文件有很多扩展名,其中只有pem与der两个指定了编码类型,其他的诸如cer、crt等等,指定的内容与编码类型无关。详参此文:《电子证书 DER vs. CRT vs. CER vs. PEM .》
补充:云计算 ,  云安全
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,