java生成数字证书方法
Java 中生成数字证书也很简单的。
1、创建证书
Java 中的 keytool.exe (位于 JDKBin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。
每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。
在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 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”来自动创建。
如下所示一句采用交互式创建一个证书,指定证书库为 BocsoftKeyLib,创建别名为 TestCertification 的一条证书,它指定用 RSA 算法生成,且指定密钥长度为 1024,证书有效期为 1 年:
C:JDK1.4BinKeyStore>keytool -genkey -alias TestCertification -keyalg RSA -keysize 1024 -keystore BocsoftKeyLib -validity 365
2.证书的操作
1)证书的显示
使用如下命令: keytool –list –keystore BocsoftKeyLib 将显示 BocsoftKeyLib 证书库的的所有证书列表:
将证书导出到证书文件
使用命令:keytool -export -alias TestCertification -file TC.cer -keystore BocsoftKeyLib 将把证书库 BocsoftKeyLib 中的别名为 TestCertification 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如:
keytool -export -alias TestCertification -file TC.cer -keystore BocsoftKeyLib -storepass 123456 –rfc
这个命令在命令行中指定了证书库的访问密码,同时指定以可查看编码的方式输出。
2)通过证书文件查看证书的信息
通过命令: keytool –printcert –file TC.cer 可以查看证书文件的信息。 也可以在 W
相关文档:
某知名门户网站的一道笔试题
public class Test {
public static void stringUpd(String str) {
str = str.replace("j", "l");
System.out.println(str);
}
public static void stringBufferUpd(StringBuffer bf) {
bf.append("c");
System.out.println(bf);
}
......
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所 ......
1. 什么是Serialization?
串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内在缓冲区等)中或是以二进制方式通过网络传输。之后 可以通过反串行化从这些连续的位数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。
Java有S ......
本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Software Architect 从 Java™ 源代码来逆向工程生成 UML 类和序列图。 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品。 ......
今天要写个远程重启服务的功能,为了开发速度,暂时定为Java代码+WMIC命令的方法,简单的说,就是利用Java调用本机应用程序的方法。涉及到的Java类有java.lang包里面的Runtime、Process、ProcessBuilder三个类,以及wmic中重启服务的命令。因为之前也写过这方面的东西,所以很习惯性的写出了代码:
&nb ......