1 17 package org.apache.geronimo.util; 18 19 import org.apache.geronimo.util.encoders.HexEncoder; 20 21 import java.security.cert.Certificate ; 22 import java.security.cert.CertificateEncodingException ; 23 import java.security.NoSuchAlgorithmException ; 24 import java.security.MessageDigest ; 25 import java.io.IOException ; 26 import java.io.ByteArrayOutputStream ; 27 import java.util.regex.Matcher ; 28 import java.util.regex.Pattern ; 29 30 35 public class CertificateUtil { 36 public static String generateFingerprint(Certificate cert, String digestAlgorithm) throws NoSuchAlgorithmException , CertificateEncodingException , IOException { 37 MessageDigest md = MessageDigest.getInstance(digestAlgorithm); 38 byte[] digest = md.digest(cert.getEncoded()); 39 ByteArrayOutputStream out = new ByteArrayOutputStream (digest.length*2); 40 new HexEncoder().encode(digest, 0, digest.length, out); 41 String all = new String (out.toByteArray(), "US-ASCII").toUpperCase(); 42 Matcher matcher = Pattern.compile("..").matcher(all); 43 StringBuffer buf = new StringBuffer (); 44 while(matcher.find()) { 45 if(buf.length() > 0) { 46 buf.append(":"); 47 } 48 buf.append(matcher.group()); 49 } 50 return buf.toString(); 51 } 52 } 53 | Popular Tags |