[装载]Java数字证书的一些应用实例
一:需要包含的包
import java.security.*;
import java.io.*;
import
java.util.*;
import java.security.*;
import java.security.cert.*;
import sun.security.x509.*
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
二:从文件中读取证书
用keytool将.keystore中的证书写入文件中,然后从该文件中读取证书信息
CertificateFactory
cf=CertificateFactory.getInstance("X.509");
FileInputStream in=new
FileInputStream("out.csr");
Certificate c=cf.generateCertificate(in);
String s=c.toString();
三:从密钥库中直接读取证书
String pass="123456";
FileInputStream in=new FileInputStream(".keystore");
KeyStore
ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
java.security.cert.Certificate
c=ks.getCertificate(alias);//alias为条目的别名
四:JAVA程序中显示证书指定信息
System.out.println("输出证书信息:\n"+c.toString());
System.out.println("版本号:"+t.getVersion());
System.out.println("序列号:"+t.getSerialNumber().toString(16));
System.out.println("主体名:"+t.getSubjectDN());
System.out.println("签发者:"+t.getIssuerDN());
System.out.println("有效期:"+t.getNotBefore());
System.out.println("签名算法:"+t.getSigAlgName());
byte []
sig=t.getSignature();//签名值
PublicKey pk=t.getPublicKey();
byte []
pkenc=pk.getEncoded();
System.out.println("公钥");
for(int
i=0;i<pkenc.length;i++)System.out.print(pkenc[i]+",");
五:JAVA程序列出密钥库所有条目
String pass="123456";
FileInputStream in=new
FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
Enumeration e=ks.aliases();
while(e.hasMoreElements())
java.security.cert.Certificate
c=ks.getCertificate((String)e.nextElement());
六:JAVA程序修改密钥库口令
String
oldpass="123456";
String newpass="654321";
FileInputStream in=new
FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,oldpass.toCharArray());
in.close();
相关文档:
面试官:熟悉哪种语言
应聘者:Java。
面试官:知道什么叫类么
应聘者:我这人实在,工作努力,不知道什么叫累
面
试官:知道什么是包?
应聘者:我这人实在? 平常不带包 也不用公司准备了
面试官:知道什么是接口吗?
应聘者:我这个人工
作认真。从来不找借口偷懒
面试官:知道什么是继承么
应聘者:我 ......
1. socket通信:有客户端和服务端的socket代码。
2. 多线程:客户端和服务端各用一线程发送信息;服务端另有一监听线程,用于把超时的信息删除。
这里应用到了同步,使两个线程可以操作同一个map。
代码:(类全在同一个包内)
server端:
Java代码 < typ ......
windows xp下配置JDK环境变量:
1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
2.安装完成后,右击“我的电脑”,点击“属性”;
3.选择“高级”选项卡,点击“ ......
所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。
命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为 ......