Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Convert certificate into base64 encoded string

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
Miscellaneous
Interview Questions
ProgrammingQuestions
Reading pkcs12 certificate information
Java cacerts file
Load Client Certificates from Windows Operating system
Load Client Certificates from MAC Operating system
Export public key certificate from keystore
Convert byte array to private, public keys
Digital Signature
Keytool:Create and export self-signed certificate
Convert certificate into base64 encoded array
Convert encoded byte array to certificate






This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here

Share the post

Convert certificate into base64 encoded string

×

Subscribe to Java Tutorial : Blog To Learn Java Programming

Get updates delivered right to your inbox!

Thank you for your subscription

×