< prev index next >

src/java.base/share/classes/sun/security/x509/X509CertImpl.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 1922,1942 **** private ConcurrentHashMap<String,String> fingerprints = new ConcurrentHashMap<>(2); public String getFingerprint(String algorithm) { return fingerprints.computeIfAbsent(algorithm, ! x -> getCertificateFingerPrint(x)); } /** * Gets the requested finger print of the certificate. The result * only contains 0-9 and A-F. No small case, no colon. */ ! private String getCertificateFingerPrint(String mdAlg) { try { ! byte[] encCertInfo = getEncoded(); ! MessageDigest md = MessageDigest.getInstance(mdAlg); byte[] digest = md.digest(encCertInfo); StringBuilder sb = new StringBuilder(digest.length * 2); for (int i = 0; i < digest.length; i++) { byte2hex(digest[i], sb); } --- 1922,1943 ---- private ConcurrentHashMap<String,String> fingerprints = new ConcurrentHashMap<>(2); public String getFingerprint(String algorithm) { return fingerprints.computeIfAbsent(algorithm, ! x -> getFingerprint(x, this)); } /** * Gets the requested finger print of the certificate. The result * only contains 0-9 and A-F. No small case, no colon. */ ! public static String getFingerprint(String algorithm, ! X509Certificate cert) { try { ! byte[] encCertInfo = cert.getEncoded(); ! MessageDigest md = MessageDigest.getInstance(algorithm); byte[] digest = md.digest(encCertInfo); StringBuilder sb = new StringBuilder(digest.length * 2); for (int i = 0; i < digest.length; i++) { byte2hex(digest[i], sb); }
< prev index next >