快速业务通道

Java安全通信、数字证书及应用实践 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
摘要验证数据是否正确无误没被修改。

利用这一原理,我们可以突破 java的applet小程序在浏览器中的权限,由于默认的applet权限控制不允许它访问操作系统级的一切。于是我们可以用我们数字证书来给applet签名,然后客户端收到该applet时,系统会自动查看给该applet签名的数字证书并提供给终端用户判定是否信认该数字证书,如果用户信认,则该applet便有了访问系统的权限。

二、 Java中的数字证书的生成及维护方法

Java中的keytool.exe可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。

每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。

在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,它们的意思是:

CN(Common Name名字与姓氏)

OU(Organization Unit组织单位名称)

O(Organization组织名称)

L(Locality城市或区域名称)

ST(State州或省份名称)

C(Country国家名称)

可以采用交互式让工具提示输入以上信息,也可以采用参数

-dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx"来自动创建。

1、示例

如下所示一句采用交互式创建一个证书,指定证书库为 abnerCALib,创建别名为abnerCA的一条证书,它指定用RSA算法生成,

且指定密钥长度为 1024,证书有效期为3650天:

C:\j2sdk1.4.1_01\mykeystore>keytool -genkey -alias abnerCA -keyalg RSA -keysize 1024 -keystore abnerCALib -validity 3650

如下图所示:

Java安全通信、数字证书及应用实践 - 编程入门网

上图中最后一步,我们输入的是 CN,代表中国的缩写,也可以直接输入“中国”两个字。

Java安全通信、数字证书及应用实践(4)

时间:2010-09-22

2、证书的操作方法

● 证书的显示

如:

keytool –list –keystore abnerCALib

将显示 abnerCALib证书库的的所有证书列表:如下图示:

Java安全通信、数字证书及应用实践 - 编程入门网

又如: keytool -list -alias abnerCA -keystore abnerCALib

将显示 abnerCALib证书库中别名为abnerCA的证书的信息。如下图所示:

Java安全通信、数字证书及应用实践 - 编程入门网

又如: keytool -list -v -alias abnerCA -keystore abnerCALib

将显示证书的详细信息( -v参数)如下图所示:

Java安全通信、数字证书及应用实践 - 编程入门网

Java安全通信、数字证书及应用实践(5)

时间:2010-09-22

● 将证书导出到证书文件

如: keytool -export -alias abnerCA -file abnerCA.cer -keystore abnerCALib

将把证书库 abnerCALib中的别名为abnerCA的证书导出到abnerCA.cer证书文件中,

它包含证书主体的信息及证书的公钥,不包括私钥,可以公开,如下图所示 :

Java安全通信、数字证书及应用实践 - 编程入门网

上面导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,因此不利用公布证书,可以加上 -rfc参数以一种可打印的编者编码输出。

如:

keytool -export -alias abnerCA -file abnerCA.cer -keystore abnerCALib -storepass 100200 –rfc

这个命令在命令行中指定了证书库的访问密码,同时指定以可查看编码的方式输出。

3、通过证书文件查看证书的信息

通过命令 :keytool –printcert –file abnerCA.cer可以查看证书文件的信息。

也可以在 windows中双击产生的证书文件直接查看。

● 证书条目的删除

keytool的命令行参数-delete可以删除密钥库中的条目,如:

keytool -delete -alias abnerCA -keystore abnerCALib

这条命令将 abnerCALib库中的abnerCA这一条证书删除了。

● 证书条目口令的修改

如:

keytool –keypasswd –alias abnerCA –keys

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号