问题
I extracted x509certificate data from a xml file
<X509Data>
<X509Certificate>
MIIB7DCCAVmgAwIBAgIQPjHcBTL63bBLuJZ88RcrCjAJBgUrDgMCHQUAMBExDzANBgNVBAMT
BnJvbWVvazAgFw0xMDAzMTUwMjI1MjZaGA8yMTEwMDIxOTAyMjUyNlowETEPMA0GA1UEAxMG
cm9tZW9rMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAu/sBh13A27rR7gJpZsI6zCee
TXNohQWlq2z6Zg8Oxzsy5JoVV....==
</X509Certificate>
</X509Data>
How can I create Java X509Certificate from this data?
I've already tried
CertificateFactory cf = CertificateFactory.getInstance(X_509);
ByteArrayInputStream bais = new ByteArrayInputStream(certBytes);
X509Certificate x509cert = (X509Certificate) cf.generateCertificate(bais);
bais.close();
But an error occurs
java.security.cert.CertificateParsingException: invalid DER-encoded certificate data.
Any help is appreciated.
回答1:
those bytes are PEM. And Java can handle it but if enclose it between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
来源:https://stackoverflow.com/questions/13091272/java-create-x509certificate-from-xml-x509data