免费SSL证书 STARTSSL 介绍与申请攻略

startssl在9月微软补丁更新中被支持,使得startssl证书得到承认。

申请流程如下 startssl.com

我的环境是windows 7

请不要使用chrome和IE8,否则将无法生成KEY而无法申请成功。建议使用firefox。

此外我还遇上了点意外,我使用的移动的网络被误判为澳大利亚的IP并收到邮件要求解释。

我将APNIC的查询地址和查询结果发送给对方后帐户才申请成功。

control panel / sign-up 注意填写正确资料。收到邮件后复制验证码。然后可以生成一个证书,注意,startssl.com不是以用户名、密码来验证用户的,是用证书来验证用户的。

所以生成证书后(火狐会导入证书),注意备份证书。丢失证书后只能重新注册。

登录后还要验证域名才能为该域名生成SSL证书,可以选择在whois里的邮箱、hostmaster@domain、postmaster@domain或者webmaster@domain

然后就可以在Certificates wizard里就可以申请SSL证书了。

有效期一年。

======2009/11/26 update===========

Toolbox

把你申请时的private key拿去Decrypt private key,然后把生成的key保存起来。

然后在Retieve certificate里选择你申请的域名,就可以得到cer文件,保存起来,放到nginx的conf目录。

在nginx里这样配置

PHP代码
  1. server   
  2. {   
  3.    server_name security.meettea.com;   
  4.    listen  443;   
  5.    index index.html index.htm index.php;   
  6.   
  7.    root  /data0/htdocs/security.meettea.com;   
  8.   
  9.    ssl on;   
  10.    ssl_certificate security.cer;   
  11.    ssl_certificate_key security.key;   
  12. }  

nginx -s reload下如果没有任何提示,就说明配置成功了。

效果预览https://tingque.com/

可惜firefox3.5测试,不信任class 1的证书。

 ==============2009/11/26 update===================

在startssl forum看到官方人员说firefox3.5不支持是因为没有配置好。经过配置解决了firefox 3.5不信任该证书的问题,ubuntu studio下测试通过。

步骤是:获取https://www.startssl.com/certs/ca.pem

获取https://www.startssl.com/certs/sub.class1.server.ca.pem

cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt

cat ca-certs.crt >> security.cer

这是因为需要把startssl的根证书和sub class1的证书附上,因为是他们把证书颁发给你,firefox需要这张证书才认识你的证书。 :)

此外opera测试没通过,这点,连startssl.com自己都没有被opera通过。

本文采用Creative Commons协议,复制本文需遵守三点:1、保留署名(链接);2、非商业性使用;3、再次创作的作品必须以相同的许可协议发布。法律顾问:庄毅雄律师

Tags: startssl

« 上一篇 | 下一篇 »

an9

我来了。

Post on 2010, March 13, 2:40 PM 1

wkl17

不知道我为什么申请了只有30天??
这是截图。。
谢谢。。

http://hi.baidu.com/wkl17006/album/item/481f2c29d81f74c1e6cd4039.html

Post on 2010, May 25, 8:36 PM 2

shiny

@wkl17 请注意,你这是在验证域名的所有权,如果你一个月内不申请证书,这次验证会失效,需要重新验证;如果你在一个月内申请了证书则不用理会这个,证书自然会一年有效。

Post on 2010, May 26, 7:53 PM 3

wkl17

感谢博主的回复!
1.我到现在还是不太明白它的具体流程:
我在2K3 IIS6生成certreq.txt,里面有一些类似
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIEYTCCA0kCAQAwgYAxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ0Rvbmcx
ETAPBgNVBAcTCFNoZW5aaGVuMRcwFQYDVQQKEw53d3cuOTg4ODgzLmNvbTEXMBUG
A1UECxMOd3d3Ljk4ODg4My5jb20xGDAWBgNVBAMTDzE3My4yNDQuMTkyLjE3MjCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMRQnHNH/UgZfB8Z9QJF9bCE
U6aas4NwEe8HiNmMXqP+REABTcLmVWB6z21qrBbpYGsBoKua35dR/fqcKpir1HbN
TtjbTvQCCxik7dokpiTg82PehMtXdrAyYvhfR+Xtl/2b/kphtxyD4UpCjHFJW3Ii
JBKf65HqnnWim5svRPgwRkfVP13zFUtbMfgPB1R2UDaoW8+lUFPkL9/pgP8AK8+q
+SbJhu8/jUb/vyE9OxyZKLOE8gcK1jMq2flXbfjElls4vYzc6uV1S2u5Ktcg/BOe
38p7taXs+gI7Mi2DT5w8f3XBWLVy3kbZS4hA28dXIWUShNcgxqSe2dnCn60GDBUC
AwEAAaCCAZkwGgYKKwYBBAGCNw0CAzEMFgo1LjIuMzc5MC4yMHsGCisGAQQBgjcC
AQ4xbTBrMA4GA1UdDwEB/wQEAwIE8DBEBgkqhkiG9w0BCQ8ENzA1MA4GCCqGSIb3
DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwEwYD
VR0lBAwwCgYIKwYBBQUHAwEwgf0GCisGAQQBgjcNAgIxge4wgesCAQEeWgBNAGkA
YwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkA
cAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgOBiQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA0GCSqGSIb3DQEBBQUA
A4IBAQBQMLGB3dk0/JpMYsnJMoMG2CLhBLWs6z6DN7xGVCkIYMuVKD+cE2KvvQTN
GM5Cu12kldsa[lfzf0iSaDr/TgSA85rHNtpnS0WhxEgy7bUsttJc4zGF7aVnSjE2
hAbICTofXf1VK57NhM+VvtMBSOoastL7UQhVfZOTaLbcD7xBxIYTN/5DHVGS95si
FMRVYXSHTr14eDZlkjhgfdsatxeuVQmftSWLhYpO0QXGFEEhNAEWfeSdPCZQoQfD
qofCk+FqjO6NYR25/8rqrZHHy27V6/uAA6IUgDI+So4+EBpaKv1hEB+61Ctmdfma
mYn+tjAulnVKtevsTT555+5aqDWv
-----END NEW CERTIFICATE REQUEST-----

但是我一开始是先去申请startssl,并且域名已经经过认证了(用wemaster@domain.com的邮箱认证的),然后再去IIS6生成certreq.txt 的(这是因为我看了一篇文章之后才去弄的certreq.txt)。我现在乱乱的,不知道我下一步应该做什么??我现在再操作一下生成certreq.txt的操作,但是“下一步”时显示的是“
处理挂起的请求并安装证书”的选项,再“下一步”,好像需要“c:\*.cer”这样的文件。。但我根本就不知道.cer文件要从哪里来。。。

2.(2K3是VPS,我一个朋友的)我自己的VPS是CentOS的,默认支持OpenSSL,因此我没装证书,在IE6下用https://访问我的域名,也能正常访问(用IE8则提示是自制证书什么的。。),但是我现在在朋友的2K3 IIS上,已经把php.ini里面的open_ssl前面的;分号去掉了,并且已经把libeay32.dll和ssleay32.dll复制到system32了,再重启IIS,但是还是无法像我自己的VPS那样,在IE6下可以直接用https://访问。。不知道这是不是说明2K3上的Open_SSL没有成功开启?还是IIS的机制和Apache不同(即IIS需要有证书才能使用OpenSSL??)

3.在StartSSL验证域名所有权时,好像只能用webmaster@domain、postmaster@domain、hostmaster@domain这三个邮箱来验证??好像最后还有一个123456@126.com,但我一开始的操作根本没填过123456@126.com这个邮箱啊。。难道验证域名所有权只能用前面那三个邮箱,而不能自定义邮箱?比如10000@qq.com ?

希望博主能指点、解答一下我的疑惑,非常感谢!

Post on 2010, May 27, 11:57 AM 4

wkl17

另外还有一个问题再请教一下:

不知道一台服务器(或VPS)是不是只能放一个证书?

比如我有a.com  b.com  c.com 这三个顶级域名,对应三个独立的网站,但同放在一台服务器(或VPS)上,不知道这三个域名是否能同时申请Startssl证书??

(因为我自己本地环境,XP下,用APMServ5.2.6,里面有一个“制作SSL证书”,我制作了,每次生成的文件名都一样,这样我申请a.com的证书,再申请b.com的证书,就会把a.com的证书覆盖掉。。所以我在想,不知道证书是不是在同一台服务器上只能放一份??谢谢。。)

Post on 2010, May 27, 12:29 PM 5

shiny

@wkl17 SSL证书的要求是独立IP。我在nginx上的配置是可以单独分站点的,相信apache也可以实现;但是一个站点一个ip你未必能实现。

Post on 2010, May 27, 11:15 PM 6

wkl17

1.博主的意思是说,SSL证书,理论上一台服务器/一个IP 只能有一份SSL证书,但是用nginx比较特别,可以一台服务器/一个IP/多个站点/多份证书??

2.另外,“一个站点一个IP你未必能实现”,不知道这一句能否详细给解释一下?

3.不知道在2K3/IIS6应该如何安装证书?我现在已经通过StartSSL的邮箱/域名 验证了,已经做到这一步http://www.pczpg.com/a/2010/0422/6161_3.html
,但是就算按他说的保存为icodex.crt,似乎也没什么用啊??因为IIS上好像要求的是c:\*.cer 这样的文件。

请指点一下,谢谢!

Post on 2010, May 29, 11:10 AM 7

shiny

@wkl17 1、一台服务器可以有多个IP 2、一个web server软件可以配置多个站点的SSL证书 3、你未必能做到一个站点分配一个ip 4、IIS安装SSL证书问题请自行解决 5、请自行理解上文含义,不解释。

Post on 2010, May 29, 11:59 AM 8

wkl17

我一开始是先去申请StartSSL的(因为我看到了他100%free),申请到了用webmaster\hostmaster\postmaster这三个邮箱认证的那一步,我才去2K3/IIS上试新建证书(2K3/IIS是VPS,一个朋友的,我自己的是CentOS的VPS。在2K3/IIS上新建证书,然后生成了certreq.txt,但是到这一步,我却不知道下一步需要做什么。。)

Post on 2010, May 29, 12:06 PM 9

wkl17

刚刚没刷新不知道你已经回复了。。

那这么说来,一个IP只能做一份StartSSL证书??如果想安装多份证书到同一台服务器,需要对应独立的IP才行?

Post on 2010, May 29, 12:11 PM 10

shiny

@wkl17 没有测试过,但应该是这样的。

Post on 2010, May 29, 12:31 PM 11

shiny

@wkl17 认证完成后Certificates wizard里申请证书,最后一步类似于
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,62D3E4294B263AC0EB81E5FD00234892
保存下
然后在toolbox/Retieve certificate里取类似于
-----BEGIN CERTIFICATE-----
,两个文件就可以完成配置。
certreq.txt这个是收费证书才需要用到的,STARTSSL并不需要这样的文件来生成。

Post on 2010, May 29, 12:35 PM 12

wkl17

非常感谢!!
等过几天手头的事忙完了再试试看看。

Post on 2010, May 29, 4:27 PM 13

shiny

经证实chrome和火狐可以同一个IP多个站点使用SSL证书,但是IE不支持(会取第一个站点的证书并出现安全警告)

Post on 2010, June 7, 12:32 AM 14

shiny

又,opera不支持startssl证书/不完整的证书链导致Firefox不信任证书的原理:
startssl的根证书颁发者是StartCom Certification Authority。
由于opera不信任该根证书导致申请到的证书不被信任。而类似于VeriSign这类收费证书和startssl的根证书是完全不同的。
而firefox虽然信任根证书,但是如果没有添加中间的class 1的证书,将导致证书链断开。所以需要在服务器证书里把class 1的证书也添加进去。

Post on 2010, June 8, 11:00 AM 15


Comment (require):