【问题标题】:Write certificate chain to a PEM file将证书链写入 PEM 文件
【发布时间】:2013-01-27 05:48:41
【问题描述】:
我有一个证书链,其中可能包含单个证书或证书以及中间 CA 的证书。现在我想把它写成一个 PEM 格式的文件。是否可以在没有任何第三方库的情况下使用现有的 java 库来实现?下面是我的证书链代码,
final Collection<? extends Certificate> c =
(Collection<? extends Certificate>) certFactory.generateCertificates(
new ByteArrayInputStream(certificateString.getBytes()));
final Certificate[] certs = (Certificate[]) c.toArray(new Certificate[] {});
现在我想将此证书写入 PEM 文件。请帮帮我。
【问题讨论】:
标签:
java
ssl
ssl-certificate
x509certificate
jsse
【解决方案1】:
试试这个:
BASE64Encoder encoder = new BASE64Encoder();
out.println(X509Factory.BEGIN_CERT);
encoder.encodeBuffer(cert.getEncoded(), out);
out.println(X509Factory.END_CERT);
或者试试这个
import javax.xml.bind.DatatypeConverter;
x509cert.encode();
try {
System.out.println("---BEGIN CERTIFICATE---");
System.out.println(DatatypeConverter.printBase64Binary(x509cert.getEncoded()));
System.out.println("---END CERTIFICATE---");
} catch (CertificateEncodingException e) {
e.printStackTrace();
}