【AGC】.p12证书文件如何获取MD5

发布时间 2023-10-24 11:00:17作者: Mayism123
近期在使用DevEco Studio3.1打包应用时遇到了一个问题,我使用Build—Generate Key and CSR创建了密钥库文件。  我这里需要获取到创建的.p12证书文件的MD5值,于是在控制台使用了keytool -list -v -keystore D:\myapp.p12命令获取证书指纹,但是如图所示没有MD5的信息。

cke_2086.png

然后我在网上查找了问题原因,为什么KeyTools不展示MD5,原来我是使用的较高版本的JDK生成的证书,已经不支持获取MD5了,我的DevEco Studio使用的JDK版本是17.0.5。而我使用较低版本的JDK运行命令则会报错:keytool 错误: java.io.IOException: Invalid keystore format。原因是生成证书的JDK与运行命令的JDK不匹配,无法解析。于是我又查询是否还有其他方法能获取当前证书文件的MD5,我找到了这个命令:keytool -exportcert -keystore xxx.keystore | openssl dgst -md5,可以导出MD5,下面来看一下这个命令的使用方法。

 

如果未安装openssl库直接运行命令会报以下的错误:

cke_9325.png

 

所以需要先安装并配置好OpenSSL再执行命令:

1.     前往官网下载OpenSSL库:https://slproweb.com/products/Win32OpenSSL.html,选择其中一个版本下载安装即可

​​

2.     安装完毕,需要配置一下环境变量,新建系统变量,配置如图:

在“path”中添加%OPENSSL_HOME%的引用

​​

3.     保存环境变量后,在命令行中输入 openssl version 查看是否可用。

至此OpenSSL库就已经配置安装完成了,下面执行命令“keytool -exportcert -keystore xxx.keystore | openssl dgst -md5”就可以获取到证书的MD5了。