Step 1: Decode the encoded
string.
Decoder
decoder = Base64.getDecoder();
byte[]
decodedData = decoder.decode(encodedString);
Step 2: Get input stream from
decoded data.
InputStream
inputStream = new ByteArrayInputStream(decodedData)
Step 3: Generate certificate
from decoded data.
CertificateFactory
cf = CertificateFactory.getInstance("X.509");
java.security.cert.Certificate
certificate = cf.generateCertificate(inputStream);
if
(certificate instanceof X509Certificate) {
return (X509Certificate) certificate;
}
Find
the below working application.
CertificateUtil.java
package com.sample.util; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.util.Base64; import java.util.Base64.Decoder;; public class CertificateUtil { /** * * @param encodedString * base64 encoded string * * @return X509Certificate from the encodedString, null on failure cases */ public static X509Certificate getX509Certificate(String encodedString) { if (encodedString == null) { return null; } Decoder decoder = Base64.getDecoder(); byte[] decodedData = decoder.decode(encodedString); try (InputStream inputStream = new ByteArrayInputStream(decodedData)) { CertificateFactory cf = CertificateFactory.getInstance("X.509"); java.security.cert.Certificate certificate = cf.generateCertificate(inputStream); if (certificate instanceof X509Certificate) { return (X509Certificate) certificate; } } catch (Exception e) { e.printStackTrace(); } return null; } }
Test.java
package com.sample.test; import java.security.cert.X509Certificate; import com.sample.util.CertificateUtil; public class Test { public static void main(String args[]) throws Exception { String encodedString = "MIIDbTCCAlWgAwIBAgIEHUj86jANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJrcjEQMA4GA1UECBMHa3Jpc2huYTEQMA4GA1UEBxMHa3Jpc2huYTEQMA4GA1UEChMHa3Jpc2huYTEQMA4GA1UECxMHa3Jpc2huYTEQMA4GA1UEAxMHa3Jpc2huYTAeFw0xODAyMDkwNDEwMjJaFw0xOTAyMDkwNDEwMjJaMGcxCzAJBgNVBAYTAmtyMRAwDgYDVQQIEwdrcmlzaG5hMRAwDgYDVQQHEwdrcmlzaG5hMRAwDgYDVQQKEwdrcmlzaG5hMRAwDgYDVQQLEwdrcmlzaG5hMRAwDgYDVQQDEwdrcmlzaG5hMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqoDP8q/LerAIb6WBx0nx3i670p7uwRbTQ/NeK54BEsV3pkjT8GlPsTP2ai6Xs038oYkgSxldlfhgpdXsWqh95+YdqDPJV2iF4LAET2Z9qrUChp6MkmHQr8HRi1+2UOS6WI0IX4fZasXapL1cQCsGTYem1b4kJmYPXczhtOMKwJXbdA0YvzE+4m2pX1wjMufi2eX8a4quojQjJrURnq74/XJepNnA0yWRuczdLG3XpPFftQaCiAj+Oa/3bKUYXRg1ODdl5VTaxUkqL/2odw4vvFs2fhSnouALsc+wyAKaBH38ZICUCoSiX6mU9hCvBpbHFk6ToQcPTo3CkWGSzBiPrQIDAQABoyEwHzAdBgNVHQ4EFgQUT1S1ED2sUYPCi8Thmz/tEqiSLIIwDQYJKoZIhvcNAQELBQADggEBAKabXk+LifQMnA8eJvDkn8xZ3FKr/9osmIcJjkO4i0vtnGOSxQ4+IyATxJ/4nrXAZwBI4+q4l13GNFw+S6ebKoYfNWEvZHUbjLALr98+nhHsURY73TIV2nw75bWOvh3QRpDDPiP/3Fzs9XjENxeUXcUV+mLGETKGa6szfcZ0Huaeva5nxDt7U+4/3xyMO9CWuYglhC8act1pd3RfZdZJaDN3fUy/+tocKXMmo0s7oLiAlyfLNhng2aqHwHu/sAoHjYyLhqz7401MmqHYX8hkOJ6FBXjJZz62zfrFUVoM10zNkByIbdL4WzNf/d8z0X57IgHg08IPpYJOfenSIqF3Rmo="; X509Certificate x509Certificate = CertificateUtil.getX509Certificate(encodedString); System.out.println("Issuer Name : " + x509Certificate.getIssuerX500Principal()); } }
Output
Issuer
Name : CN=krishna, OU=krishna, O=krishna, L=krishna, ST=krishna, C=kr
You may like
Convert base64 encoded string to certificate
How to set proxy settings for https, http communication
How to set proxy settings for https, http communication
No comments:
Post a Comment