• 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
  • 相关阅读:
    第三章 索引
    如何指定网站内搜索关键字(借用已有搜索引擎)
    企业文件传输使用网盘好还是大文件传输软件好?
    爬虫与云服务器云数据库
    shadow复习之planar shadow
    LeetCode:1402. 做菜顺序(C++)
    PE文件解析(5):重定位表详解
    2022软件工程师薪资报告出炉!
    深度学习的初始化(暂时)
    [Linux] 下载工具 aria2 的使用
  • 原文地址:https://blog.csdn.net/u013083465/article/details/132877361