将证书链写入PEM文件

时间:2013-01-27 05:48:42

标签: java ssl ssl-certificate x509certificate jsse

我有一个证书链,它可能包含单个证书或证书以及中间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文件。请帮帮我。

1 个答案:

答案 0 :(得分:0)

试试这个:

    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();
}