nixspirit
nixspirit

Reputation: 547

Java create x509certificate from XML X509Data

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

Answers (1)

nixspirit
nixspirit

Reputation: 547

those bytes are PEM. And Java can handle it but if enclose it between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"

Upvotes: 1

Related Questions