`
lukejin
  • 浏览: 362101 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Apply for digital certificates

阅读更多
2009年12月16日
---------------------------------------------
昨晚终于将SSO的2010年的数字证书替换上去了。

现在我们的很多系统的证书都是自己制作的,访问的时候浏览器会发出警告,只要用户确认浏览后是可以正常使用系统的。

但是SSO系统有点特殊的,所有使用sso的系统都需要在java代码层和sso进行https的交互,所以如果不使用正规的CA证书的话,就会需要在别的系统的keystore中导入我们的证书,会很麻烦的,所以sso就一直在使用VeriSign的数字证书,每年大概7-8k

下面主要讲解下申请数字证书的过程吧。

1.对公司信息进行认证核实

我们是向"北京天威诚信电子商务服务有限公司"购买的,
首先需要填写几张申请的表格,
还需要给他们传真本公司的最新年检过的营业执照。
如果使用者的公司名称和域名所有者的名称不一致的话,还需要域名的所有者进行回复邮件(还写了一封英文的邮件给那个人,可惜他没有收到VeriSign发的确认信)。
所以后来采取第二套方案,就是域名使用授权信,需要本公司另一名证书员工的签字,来担保。
2.给对方发送csr文件

首先你需要正确的安装好JDK

然后通过如下的命令生成一个RSA的密钥对

keytool -genkey -alias tom_server -keyalg RSA -keysize 1024
-keystore keystore.jks

-genkey[产生密钥对]
-alias[密钥对别名]
-keyalg[密钥算法参数]
-keysize[密钥位数]
-keystore[密钥存储文件路径]
[注]:-alias 后的 tom_server 是密钥对的名字,可替换为自己需要的名字;

这个时候需要你输入密码和一些信息(全英文数字填写)
其中包括
CN通用名 填写你所申请的域名(不需要带https之类的)
组织:公司全称
组织单元:部门名称
城市
省份
国家代号:CN

这样之后就会产生一个keystore.jks的文件,文件中保存了一个RSA的密钥对

生成 CSR
输入 keytool -certreq -alias tom_server -sigalg MD5withRSA -file
server.csr -keypass password -keystore keystore.jks -storepass
password

-certreq[产生待签名证书]
-alias[证书别名]
-sigalg[证书算法参数]
-file[产生文件输出路径]
-keypass[密钥保护密码]
-keystore[存储文件路径]
-storepass[存储密码]

keypass和storepass最好一样都为你刚刚生成密钥对时设置的密码。

好了这个时候你把csr文件发送给对方。

3.收到证书已经更新证书

对方会邮件的方式将证书内容发你,如果直接是文本 你需要将文本拷贝到记事本中保存成cer文件。

这个时候我们需要导入两个证书,一个是他们给我们发的证书,

另一个是他们自己公司的证书

导入服务器证书
输入:keytool -import -v -trustcacerts -storepass password -alias
tom_server -file server.cer -keystore keystore.jks

[注] 此时的"password"为生成证书时输入密码,-alias 为服务器证书的别名

导入中级 CA 根证书

输入:keytool -import -v -trustcacerts -storepass password
-alias my-ca-root -file intermediate.cer -keystore keystore.jks

-import[导入命令]
-v -trustcacerts[导入信任证书]
-storepass[存储密码]
-alias[证书别名]
-file[证书文件路径]
-keystore[导入文件路径]


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics