欢迎来到天天文库
浏览记录
ID:39550879
大小:47.50 KB
页数:5页
时间:2019-07-06
《java生成公钥和私钥》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一:需要包含的包importjava.security.*;importjava.io.*;importjava.util.*;importjava.security.*;importjava.security.cert.*;importsun.security.x509.*importjava.security.cert.Certificate;importjava.security.cert.CertificateFactory;二:从文件中读取证书用keytool将.keystore中的证书写入文件中,然后从该文件中读取证书信息Certifi
2、cateFactorycf=CertificateFactory.getInstance("X.509");FileInputStreamin=newFileInputStream("out.csr");Certificatec=cf.generateCertificate(in);Strings=c.toString();三:从密钥库中直接读取证书Stringpass="123456";FileInputStreamin=newFileInputStream(".keystore");KeyStoreks=KeyStore.getInstance
3、("JKS");ks.load(in,pass.toCharArray());java.security.cert.Certificatec=ks.getCertificate(alias);//alias为条目的别名四:JAVA程序中显示证书指定信息System.out.println("输出证书信息:"+c.toString());System.out.println("版本号:"+t.getVersion());System.out.println("序列号:"+t.getSerialNumber().toString(16));Syst
4、em.out.println("主体名:"+t.getSubjectDN());System.out.println("签发者:"+t.getIssuerDN());System.out.println("有效期:"+t.getNotBefore());System.out.println("签名算法:"+t.getSigAlgName());byte[]sig=t.getSignature();//签名值PublicKeypk=t.getPublicKey();byte[]pkenc=pk.getEncoded();System.out.prin
5、tln("公钥");for(inti=0;i6、())java.security.cert.Certificatec=ks.getCertificate((String)e.nextElement());六:JAVA程序修改密钥库口令Stringoldpass="123456";Stringnewpass="654321";FileInputStreamin=newFileInputStream(".keystore");KeyStoreks=KeyStore.getInstance("JKS");ks.load(in,oldpass.toCharArray());in.close();File7、OutputStreamoutput=newFileOutputStream(".keystore");ks.store(output,newpass.toCharArray());output.close();七:JAVA程序修改密钥库条目的口令及添加条目FileInputStreamin=newFileInputStream(".keystore");KeyStoreks=KeyStore.getInstance("JKS");ks.load(in,storepass.toCharArray());Certificate[]cchain=ks.8、getCertificate(alias);获取别名对应条目的证书链PrivateKeypk=(PrivateKey)ks
6、())java.security.cert.Certificatec=ks.getCertificate((String)e.nextElement());六:JAVA程序修改密钥库口令Stringoldpass="123456";Stringnewpass="654321";FileInputStreamin=newFileInputStream(".keystore");KeyStoreks=KeyStore.getInstance("JKS");ks.load(in,oldpass.toCharArray());in.close();File
7、OutputStreamoutput=newFileOutputStream(".keystore");ks.store(output,newpass.toCharArray());output.close();七:JAVA程序修改密钥库条目的口令及添加条目FileInputStreamin=newFileInputStream(".keystore");KeyStoreks=KeyStore.getInstance("JKS");ks.load(in,storepass.toCharArray());Certificate[]cchain=ks.
8、getCertificate(alias);获取别名对应条目的证书链PrivateKeypk=(PrivateKey)ks
此文档下载收益归作者所有