close
今天看到了一段code是和ssl憑證有關的
用到了MessageDigest來進行解譯
想說加個註解,了解一下code的行為在做什麼
private static byte[] getFingerprint(String httpsURL)
throws IOException, NoSuchAlgorithmException
, CertificateException, CertificateEncodingException {
final HttpsURLConnection con =
(HttpsURLConnection) new URL(httpsURL).openConnection();
con.setConnectTimeout(5000);
con.connect();
final Certificate cert = con.getServerCertificates()[0];
final MessageDigest md = MessageDigest.getInstance("SHA1");
md.update(cert.getEncoded());
return md.digest();
}
由於公司案子的設計偷懶,沒有把憑證放於app之中
故我是從說好的url取得 certificate
取出來後以 MessageDigest 來處理
首先 MessageDigest.getInstance("SHA1") 是用來建立一新實例
參數值只支援以下六種
MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512
請視情況來建立
再來的 update(cert.getEncoded())是在計算 byte[] 物件 buffer 的 Message Digest 值。
最後利用 digest() 來取得 Message Digest 值。
文章標籤
全站熱搜