In
my previous post, I explained how to create and export a self-signed
certificate using ‘keytool’ command. In this post, I am going to show you how
to convert the certificate into base64 encoded string.
To
run this program, you need to create a self-signed certificate and pass the
path of the file as an input to the application Test.java.
CertificateUtil.java
package com.sample.util; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Base64; import java.util.Base64.Encoder; public class CertificateUtil { private static final int BUFFER_SIZE = 65535; /** * * * @param certificateFilePath * @return the base64 encoded array from given certificate content. * * @throws Exception */ public static byte[] convertCertificateToByteArray(String certificateFilePath) throws Exception { if (certificateFilePath == null || certificateFilePath.isEmpty()) { throw new Exception("certificateFilePath should not be null or empty"); } File file = new File(certificateFilePath); if (!file.exists()) { throw new Exception("File not exist : " + file.getAbsolutePath()); } if (file.isDirectory()) { throw new Exception("File shouldn't be a directory : " + file.getAbsolutePath()); } try (InputStream inputStream = new FileInputStream(file)) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[BUFFER_SIZE]; int numberOfReadBytes; while ((numberOfReadBytes = inputStream.read(buffer)) > 0) { byteArrayOutputStream.write(buffer, 0, numberOfReadBytes); } byte[] certificateInBytes = byteArrayOutputStream.toByteArray(); Encoder encoder = Base64.getEncoder(); byte[] encodedBytes = encoder.encode(certificateInBytes); return encodedBytes; } } /** * Convert the certificate into base64 encoded string. * * @param certificateFilePath * @return * @throws Exception */ public static String convertCertificateToString(String certificateFilePath) throws Exception { byte[] encodedBytes = convertCertificateToByteArray(certificateFilePath); String str = new String(encodedBytes); return str; } }
Test.java
package com.sample.test; import com.sample.util.CertificateUtil; public class Test { public static void main(String args[]) throws Exception { String certificateFilePath = "C:\\Users\\krishna\\myCert.cer"; String certificateInfo = CertificateUtil.convertCertificateToString(certificateFilePath); System.out.println(certificateInfo); } }
Output
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=
In
my next post, I am going to show how to convert the above generated string to
certificate.
You may like
No comments:
Post a Comment