1

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

4

1 回答 1

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();
}
于 2013-01-27T07:20:35.443 回答