我们可以使用Openssl来制作证书,也可以使用ssl.ca来制作证书
我的服务器端采用的是Appweb 3.4.2-0 操作系统为CentOS release 5.10 (Final)
目录结构为:Openssl 位于 /usr/include/openssl
Appweb的ssl文件夹 位于 etc/appweb/ssl
对于ssl支持路径的配置文件位于 etc/appweb/conf/hosts/ssl-default.conf
ssl.ca 的下载地址是 http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz
首先要生成根证书 #./new-root-ca.sh
要为 ca.key 输入两次密码,学习一个单词 Verifying 为确认的意思
然后输入各种信息来签署根证书,这样生成的 ca.key 和 ca.crt 两个文件
下面还要为我们的服务器生成一个证书
# ./new-server-cert.sh server (这个证书的名字是server)
还是要输入一堆信息,根据提示输入就可以
这样就生成了 server.csr 和 server.key 这两个文件
还要对证书进行签署
# ./sign-server-cert.sh server
如果是单向认证,则不需要有客户端证书
# ./new-user-cert.sh client
这里要注意证书信息不能与其它证书完全一样,这里修改Email与服务器证书不一样就行
客户端证书仍然是需要签署的
# ./sign-user-cert.sh client
可以选择把格式转换成p12
# ./p12.sh client
然后需要到 ssl-default.conf 中修改路径
如果使用的是Apache,修改的则应该是 httpd-ssl.conf
SSLCertificateFile 和 SSLCertificateKeyFile
下面是开启客户端认证,如果是单向认证就不用开启了
SSLCACertificateFile
然后就可以通过浏览器进行访问了,使用https进行访问
证书导入的时候,Chrome是在设置中选择查看高级设置
然后找到HTTPS / SSL 点击管理证书,然后就可以导入了
如果转换成了p12格式,也可以直接双击进行导入
我选择的是导入到受信任的根证书发布机构
如果在制作证书的时候采用了弱签名算法,Chrome会提示你
由于服务器的证书与网址不相符,Chrome还是会提示你
如果都没有问题,Chrome就会显示为一把完整的锁头
这时Chrome还是会显示一个锁头和一个×
这表示Chrome仍然存有疑问