Isi*_*vic 1 java bouncycastle asn.1 x509certificate
如何导出X509CertificateASN.1格式的?我找到了如何使用扩展名导出到DER和PEM,.cer但是找不到如何导出到ASN.1格式。谁能帮我?
这是我的PEM:
JcaPEMWriter pemWrt = new JcaPEMWriter(new FileWriter(path + ".cer"))
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(loadCertificate);
pemWrt.writeObject(certificate);
pemWrt.flush();
pemWrt.close();
Run Code Online (Sandbox Code Playgroud)
这是我的DER:
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(loadCertificate);
FileOutputStream fileWrite = new FileOutputStream(new File(path + ".cer"));
fileWrite.write(certificate.getEncoded());
fileWrite.flush();
fileWrite.close();
Run Code Online (Sandbox Code Playgroud)
小智 7
首先,请记住,ASN.1是不是一个格式本身,它是一个描述语言是定义一个结构,PEM只是一个格式化这些定义的结构方式。(许多加密标准使用ASN.1来定义自己的数据结构,以及PEM或DER(标识编码规则),以序列化的结构。)
因此,PEM和DER只是两种写入ASN.1定义的信息的方式。您可以将某些内容导出到PEM或DER,但是没有诸如“导出到ASN.1格式”之类的东西(因为ASN.1不是一种格式)。
该.cer扩展名只是数字证书的文件扩展名,但是此证书可以是PEM或DER(无所谓,并且扩展名不会更改)。
因此,当您使用时JcaPEMWriter,您已经在以PEM格式创建文件。使用时certificate.getEncoded(),您已经在以DER格式写入字节。