分类:
2008-09-12 09:14:22
一需要包含的包
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 [1]
--------------------next---------------------