[文章作者:张宴 本文版本:v1.0 最后修改:2009.11.14 转载请注明原文链接:http://blog.zyan.cc/startssl/]
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
1、自行颁发不受浏览器信任的SSL证书:
HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下:
Nginx.conf的SSL证书配置,使用api.bz_nopass.key,在启动Nginx是无需输入SSL证书密码,而使用api.bz.key则需要输入密码:
自行颁发的SSL证书虽然能够实现加密传输功能,但得不到浏览器的信任,会出现以下提示:
2、受浏览器信任的StartSSL免费SSL证书:
跟VeriSign一样,StartSSL(网址:http://www.startssl.com,公司名:StartCom)也是一家CA机构,它的根证书很久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。
在今年9月份,StartSSL竟然搞定了微软:微软在升级补丁中,更新了通过Windows根证书认证程序(Windows Root Certificate Program)的厂商清单,并首次将StartCom公司列入了该认证清单,这是微软首次将提供免费数字验证技术的厂商加入根证书认证列表中。现在,在Windows 7或安装了升级补丁的Windows Vista或Windows XP操作系统中,系统会完全信任由StartCom这类免费数字认证机构认证的数字证书,从而使StartSSL也得到了IE浏览器的支持。
注册成为StartSSL(http://www.startssl.com)用户,并通过邮件验证后,就可以申请免费的可信任的SSL证书了。步骤比较复杂,就不详细介绍了,申请向导的主要步骤如下:
3、使用案例:
使用StartSSL免费SSL证书的HTTPS(SSL)网站示例:
https://sms.api.bz
4、小插曲:
StartSSL虽然提供的是免费的SSL证书,但服务态度是非常不错的。之前StartSSL并不支持.bz结尾的域名,因为我有一个api.bz域名需要SSL证书,所以我发了份邮件给StartSSL的管理员,要求增加.bz域名,中间还因为.bz域名注册机构对whois查询有限制,出现了一些比较麻烦的问题,最终StartSSL通过修改程序,支持了.bz域名。
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
1、自行颁发不受浏览器信任的SSL证书:
HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下:
openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key api.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key
openssl req -new -key api.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key
Nginx.conf的SSL证书配置,使用api.bz_nopass.key,在启动Nginx是无需输入SSL证书密码,而使用api.bz.key则需要输入密码:
引用
server
{
server_name sms.api.bz;
listen 443;
index index.html index.htm index.php;
root /data0/htdocs/api.bz;
ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
......
}
{
server_name sms.api.bz;
listen 443;
index index.html index.htm index.php;
root /data0/htdocs/api.bz;
ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
......
}
自行颁发的SSL证书虽然能够实现加密传输功能,但得不到浏览器的信任,会出现以下提示:
2、受浏览器信任的StartSSL免费SSL证书:
跟VeriSign一样,StartSSL(网址:http://www.startssl.com,公司名:StartCom)也是一家CA机构,它的根证书很久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。
在今年9月份,StartSSL竟然搞定了微软:微软在升级补丁中,更新了通过Windows根证书认证程序(Windows Root Certificate Program)的厂商清单,并首次将StartCom公司列入了该认证清单,这是微软首次将提供免费数字验证技术的厂商加入根证书认证列表中。现在,在Windows 7或安装了升级补丁的Windows Vista或Windows XP操作系统中,系统会完全信任由StartCom这类免费数字认证机构认证的数字证书,从而使StartSSL也得到了IE浏览器的支持。
注册成为StartSSL(http://www.startssl.com)用户,并通过邮件验证后,就可以申请免费的可信任的SSL证书了。步骤比较复杂,就不详细介绍了,申请向导的主要步骤如下:
3、使用案例:
使用StartSSL免费SSL证书的HTTPS(SSL)网站示例:
https://sms.api.bz
4、小插曲:
StartSSL虽然提供的是免费的SSL证书,但服务态度是非常不错的。之前StartSSL并不支持.bz结尾的域名,因为我有一个api.bz域名需要SSL证书,所以我发了份邮件给StartSSL的管理员,要求增加.bz域名,中间还因为.bz域名注册机构对whois查询有限制,出现了一些比较麻烦的问题,最终StartSSL通过修改程序,支持了.bz域名。
sms.api.bz 使用了无效的安全证书。
该证书因为其发行者证书未知而不被信任。
(错误码: sec_error_unknown_issuer)
依據上面連結文章設定後過了
但網站是架給別人看
如果要別人去自己安裝憑證
那跟自己發SSL意思一樣無法取信於人
//是服务器设定而不是客户端设定,保证证书链完整即可正确识别。
上面是:#openssl req -new -key api.bz.key -out api.bz.csr
配置文件里面是:ssl_certificate api.bz.crt;
我实在想不通!并且StartSSL的证书二级域名访问,直接不能访问!
十分重要的是,CAcert 证人必须理解并遵循以下规则,保证以恰当的方式识别认证申请人,以维持我们系统的可信度。
联系
* 你必须亲自与申请人见面;
* 你必须亲眼见到至少一张由政府机构颁发的附带照片的可信身份证件(比如居民身份证、驾驶执照、护照、军官证)。如果申请人提供了两份身份证件,你可以给其分配较多的信用点数;如果只给了一份身份证件,请最好给予较少的信用点数。
* 如申请人尚未填写公证申请表,助其完成填写,并注意所有信息相符。
正在处理中
会议结束后,访问 CAcert 网站的“作公证”页面,并:
* 输入申请人的电子邮件地址;
* 比较在线信息和证件记录的信息;
* 当且仅当两者完全相符,你才可以授予你所能分发的最多的信任点数;
个人隐私
你必须为申请人保守秘密,保证他的隐私权。没有他的同意,绝不可以泄漏申请人提供的信息。
收费
您可以向申请人收取一部分的见面认证劳务费用,当然这必须在申请人在会面前就同意并得知数额。
责任
CAcert 公证人如确知此原则,或者于情于理应该了解该原则,然而在公证申请者时与此原则背道而驰,则该公证人应负责任。
最大点数
CAcert 可能因为政策或规则的改变而不定时地改变某类证人可以分配的公证点数。出于某种 CAcert 政策的需要,我们也可能改变某个人或者某新类型的证人所有的公证点数。