Java tutorial
//package com.java2s; /* * Copyright 2016 OpenMarket Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.security.MessageDigest; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; public class Main { /** * Generates the SHA-256 fingerprint of the given certificate * @param cert the certificate. * @return the finger print */ public static byte[] generateSha256Fingerprint(X509Certificate cert) throws CertificateException { return generateFingerprint(cert, "SHA-256"); } /** * Generate the fingerprint for a dedicated type. * @param cert the certificate * @param type the type * @return the fingerprint * @throws CertificateException */ private static byte[] generateFingerprint(X509Certificate cert, String type) throws CertificateException { final byte[] fingerprint; final MessageDigest md; try { md = MessageDigest.getInstance(type); } catch (Exception e) { // This really *really* shouldn't throw, as java should always have a SHA-256 and SHA-1 impl. throw new CertificateException(e); } fingerprint = md.digest(cert.getEncoded()); return fingerprint; } }