jdk中keytool的使用以及如何提取jks文件中的公钥和私钥

 更新时间:2024年03月21日 10:55:02   作者:飞露  
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公钥和私钥内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot传递单一参数时@RequestParam和@RequestBody的区别小结

    SpringBoot传递单一参数时@RequestParam和@RequestBody的区别小结

    用SpringBoot框架做项目时,经常需要前端给后端传递参数,本文主要介绍了SpringBoot传递单一参数时@RequestParam和@RequestBody的区别,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Java设计模式之代理模式原理及实现代码分享

    Java设计模式之代理模式原理及实现代码分享

    这篇文章主要介绍了Java设计模式之代理模式原理及实现代码分享,设计代理模式的定义,静态代理,动态代理,jdk动态代理实现步骤,原理及源码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • springboot validator枚举值校验功能实现

    springboot validator枚举值校验功能实现

    这篇文章主要介绍了springboot validator枚举值校验功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Redisson 分布式延时队列 RedissonDelayedQueue 运行流程

    Redisson 分布式延时队列 RedissonDelayedQueue 运行流程

    这篇文章主要介绍了Redisson分布式延时队列 RedissonDelayedQueue运行流程,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 浅谈java运用注解实现对类中的方法检测的工具

    浅谈java运用注解实现对类中的方法检测的工具

    这篇文章主要介绍了浅谈java运用注解实现对类中的方法检测的工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • springboot短信验证码登录功能的实现

    springboot短信验证码登录功能的实现

    这篇文章主要介绍了springboot短信验证码登录功能的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • java泛型详解

    java泛型详解

    本文主要介绍了java泛型的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • SpringBoot集成极光推送的实现代码

    SpringBoot集成极光推送的实现代码

    工作中经常会遇到服务器向App推送消息的需求,一般企业中选择用极光推送的比较多,本文就介绍了SpringBoot集成极光推送的实现代码,感兴趣的可以了解一下
    2023-08-08
  • Spring轻松解决循环依赖

    Spring轻松解决循环依赖

    Spring的解决循环依赖是有前置条件的,要解决循环依赖我们首先要了解Spring Bean对象的创建过程和依赖注入的方式。依赖注入方式,我之前的博客有所分享,大家可以在看本篇文章之前进行一下小小的回顾
    2023-04-04
  • 手把手教你使用Java实现在线生成pdf文档

    手把手教你使用Java实现在线生成pdf文档

    在实际的业务开发的时候,常常会需要把相关的数据信息,通过一些技术手段生成对应的PDF文件,然后返回给用户。本文将手把手教大家如何利用Java实现在线生成pdf文档,需要的可以参考一下
    2022-03-03

最新评论