jdk中keytool的使用以及如何提取jks文件中的公钥和私钥
作者:飞露
JKS文件由公钥和密钥构成利用Java Keytool工具生成的文件,它是由公钥和密钥构成的,下面这篇文章主要给大家介绍了关于jdk中keytool的使用以及如何提取jks文件中公钥和私钥的相关资料,需要的朋友可以参考下
这里暂时只需要知道如何使用就可以了。
首先是生成一个密钥,
keytool -genkeypair -alias fanyfull -keypass ffkp123456 -validity 365 -storepass ffsp123456 -keystore fanyfull.jks -keyalg RSA
解释一下这里的选项,
- -alias 密钥对的名称
- -keypass 密钥密码
- -validity 有效期,这里是以天为单位
- -storepass 存储库的密码
- -keystore 指定生成的密钥文件存放的位置,这里的
fanyfull.jks
表示的是当前目录下的fanyfull.jks
,如果没有,就生成这个文件 - -keyalg 指定这个密钥对生成的算法,这里用的是 RSA 算法
如果想查看生成的 jks 文件的详细信息,可以使用以下命令,
keytool -list -v -alias fanyfull -storepass ffsp123456 -keystore .\fanyfull.jks
然后是提取私钥,
keytool -importkeystore -srckeystore .\fanyfull.jks -destkeystore fanyfull.p12 -deststoretype PKCS12 -srcalias fanyfull -deststorepass ffsp123456 -destkeypass ffkp123456
然后根据提示输入 storepass 即可,
然后,可以使用 openssl 工具来提取其中的私钥,
openssl pkcs12 -nodes -in .\fanyfull.p12 -out private.pem
我们可以查看一下这里的私钥,
这里的 BEGIN PRIVATE KEY
和 END PRIVATE KEY
之间的内容就是我们的私钥。
然后是提取公钥,
openssl pkey -in .\private.pem -pubout -out public.pem
我们可以查看一下这里的公钥,
这里的 BEGIN PUBLIC KEY
和 END PUBLIC KEY
之间的内容就是我们的私钥。
而,如果我们单纯地只是想提取证书的话,那么,可以使用以下的命令,
keytool -export -alias fanyfull -keystore .\fanyfull.jks -file public.cert -rfc
总结
到此这篇关于jdk中keytool的使用以及如何提取jks文件中的公钥和私钥的文章就介绍到这了,更多相关jdk keytool提取jks公钥和私钥内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!