Reputation: 547
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.
Upvotes: 3
Views: 2289
Reputation: 547
those bytes are PEM. And Java can handle it but if enclose it between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
Upvotes: 1