「java查看csr」java调用链
今天给各位分享java查看csr的知识,其中也会对java调用链进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎么将csr文件中的私钥提取出来
java.security.cert.CertificateFactory; java.security.cert.X509Certificate; 下载API文档,好好看看这两个类的说明。 如果PEM是BASE64格式的文件,则先转换成二进制。
java 怎么验证文件为数字签名认证文件
1)从密钥库中读取CA的证书
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass.toCharArray());
java.security.cert.Certificate c1=ks.getCertificate("caroot");
(2)从密钥库中读取CA的私钥
PrivateKey caprk=(PrivateKey)ks.getKey(alias,cakeypass.toCharArray());
(3)从CA的证书中提取签发者的信息
byte[] encod1=c1.getEncoded(); 提取CA证书的编码
X509CertImpl cimp1=new X509CertImpl(encod1); 用该编码创建X509CertImpl类型对象
X509CertInfo cinfo1=(X509CertInfo)cimp1.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 获取X509CertInfo对象
X500Name issuer=(X500Name)cinfo1.get(X509CertInfo.SUBJECT+"."+CertificateIssuerName.DN_NAME); 获取X509Name类型的签发者信息
(4)获取待签发的证书
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in2=new FileInputStream("user.csr");
java.security.cert.Certificate c2=cf.generateCertificate(in);
(5)从待签发的证书中提取证书信息
byte [] encod2=c2.getEncoded();
X509CertImpl cimp2=new X509CertImpl(encod2); 用该编码创建X509CertImpl类型对象
X509CertInfo cinfo2=(X509CertInfo)cimp2.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 获取X509CertInfo对象
(6)设置新证书有效期
Date begindate=new Date(); 获取当前时间
Date enddate=new Date(begindate.getTime()+3000*24*60*60*1000L); 有效期为3000天
CertificateValidity cv=new CertificateValidity(begindate,enddate); 创建对象
cinfo2.set(X509CertInfo.VALIDITY,cv); 设置有效期
(7)设置新证书序列号
int sn=(int)(begindate.getTime()/1000); 以当前时间为序列号
CertificateSerialNumber csn=new CertificateSerialNumber(sn);
cinfo2.set(X509CertInfo.SERIAL_NUMBER,csn);
(8)设置新证书签发者
cinfo2.set(X509CertInfo.ISSUER+"."+CertificateIssuerName.DN_NAME,issuer);应用第三步的结果
(9)设置新证书签名算法信息
AlgorithmId algorithm=new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
cinfo2.set(CertificateAlgorithmId.NAME+"."+CertificateAlgorithmId.ALGORITHM,algorithm);
(10)创建证书并使用CA的私钥对其签名
X509CertImpl newcert=new X509CertImpl(cinfo2);
newcert.sign(caprk,"MD5WithRSA"); 使用CA私钥对其签名
(11)将新证书写入密钥库
ks.setCertificateEntry("lf_signed",newcert);
FileOutputStream out=new FileOutputStream("newstore");
ks.store(out,"newpass".toCharArray()); 这里是写入了新的密钥库,也可以使用第七条来增加条目
基于java的apns多线程消息推送终端是怎么处理内容的
1、首先是应用程序注册消息推送。
2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。
3、应用程序将deviceToken发送给PUSH服务端程序。
4、 服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
无论是iPhone客户端跟APNS,还是Provider和APNS都需要通过证书进行连接的。下面介绍一下所用到证书的制作。
一、CSR文件
1、生成Certificate Signing Request(CSR)
2、填写你的邮箱和常用名称,并选择保存到硬盘。
点击继续:这样就在本地生成了一个PushTest.certSigningRequest文件。
二、SSL certificate文件
1、用你付过费的帐号登录到iOS Provisioning Portal,并创建Certificates。
推送软件极光不错,极光推送搭建起一个高度稳定、可扩展的云端架构,极大地帮助移动应用开发者节约开发和维护的成本,轻松实现毫秒级的精准推送。
如何用java编程实现生成csr
public java.security.cert.Certificate certToX509Cert(X509Certificate cert) {
try {
CertificateFactory cf = new CertificateFactory();
InputStream is = new ByteArrayInputStream(cert.getEncoded());
Collection coll = cf.engineGenerateCertificates(is);
java.security.cert.Certificate jcrt = null;
Iterator it = coll.iterator();
if (it.hasNext()) {
jcrt = (java.security.cert.Certificate) it.next();
return jcrt;
}
} catch (CertificateEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (CertificateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public int storeP12(String caCertPath, String certPath, String pemPath, String pemPassword,
String p12Path, String p12Password) {
KeyPair kp;
try {
kp = getPrivateKey(pemPath, pemPassword);
X509Certificate caCert = getCertificate(caCertPath);
X509Certificate cert = getCertificate(certPath);
java.security.cert.Certificate[] chain = new java.security.cert.Certificate[2];
chain[0] = certToX509Cert(cert);
chain[1] = certToX509Cert(caCert);
KeyStore ks = KeyStore.getInstance("PKCS12", "BC");
ks.load(null, null);
ks.setKeyEntry(parseCertDN(cert.getSubjectDN().getName(), "CN"),
kp.getPrivate(), null, chain);
FileOutputStream fOut = new FileOutputStream(p12Path);
ks.store(fOut, p12Password.toCharArray());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
blog.csdn.net/jinhill/article/details/17612273
java查看csr的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java调用链、java查看csr的信息别忘了在本站进行查找喔。
发布于:2022-11-25,除非注明,否则均为
原创文章,转载请注明出处。