首页 > 编程语言 >Java 秘钥对相关操作

Java 秘钥对相关操作

时间:2024-01-17 11:36:25浏览次数:31  
标签:mercury keystore Java keytool PKCS12 秘钥 cert 操作 私钥

生成 JKS(Java Key Store) 文件

keytool -genkeypair -keystore mercury.jks -keyalg RSA -validity 180 -alias mercury

参数说明

  • keytool: 这是 Java Keytool 工具,用于管理密钥和证书。
  • -genkeypair: 指示 Keytool 生成一个密钥对(公钥和私钥)。
  • -alias mercury: 设置密钥对的别名为 "mercury"。别名用于在 KeyStore 中唯一标识密钥条目。
  • -validity 180: 指定生成的证书有效期为 180 天。
  • -keyalg RSA: 指定密钥算法为 RSA。
  • -keystore mercury.jks: 指定要创建或使用的 KeyStore 文件的名称为 "mercury.jks"。

然后按照提示输入相关信息即可生成 JKS 文件。

导出公钥

  1. 使用 keytool 从 JKS 中导出证书

    keytool -exportcert -keystore mercury.jks -alias mercury -file cert.crt
    

    这会生成一个名为 cert.crt 的文件。

  2. 使用 openssl 将证书转换为 PEM 格式

    openssl x509 -inform der -in cert.crt -out cert.pem
    

    这会从 cert.crt 创建一个名为 cert.pem 的 PEM 格式证书文件。

导出私钥

由于 keytool 不能直接导出私钥为 PEM 格式,您需要先,然后再从 PKCS12 导出私钥。

  1. 将 JKS 转换为 PKCS12 格式

    keytool -importkeystore -srckeystore mercury.jks -destkeystore keystore.p12 -deststoretype PKCS12
    

    替换相应的路径和密码。这会创建一个名为 keystore.p12 的 PKCS12 格式文件。

  2. 从 PKCS12 导出私钥为 PEM 格式:

    openssl pkcs12 -in keystore.p12 -nocerts -nodes -out key.pem
    

    使用您为 PKCS12 文件设置的密码。这会生成一个名为 key.pem 的包含私钥的 PEM 文件。

标签:mercury,keystore,Java,keytool,PKCS12,秘钥,cert,操作,私钥
From: https://www.cnblogs.com/xiangliuzou/p/17966338

相关文章

  • PDF转图片-itextpdf-java源码
    提供PDF文件转图片的工具类。电子签章过程中存在着在网页上对签署文件进行预览、指定签署位置、文件签署等操作,由于图片在浏览器上的兼容性和友好性优于PDF文件,所以一般在网页上进行电子签章时,会先将PDF文件转换成图片,展示给用户。用户在页面上确定好签署位置,并进行签署时,后端服......
  • 电子签章Java后端与前端交互签名位置计算
    电子签章过程中存在着在网页上对签署文件进行预览、指定签署位置、文件签署等操作,由于图片在浏览器上的兼容性和友好性优于PDF文件,所以一般在网页上进行电子签章时,会先将PDF文件转换成图片,展示给用户。用户在页面上确定好签署位置,并进行签署时,后端服务会通过对电子印章/手写签名位......
  • PDF转图片-itextpdf-java源码
    提供PDF文件转图片的工具类。电子签章过程中存在着在网页上对签署文件进行预览、指定签署位置、文件签署等操作,由于图片在浏览器上的兼容性和友好性优于PDF文件,所以一般在网页上进行电子签章时,会先将PDF文件转换成图片,展示给用户。用户在页面上确定好签署位置,并进行签署时,后......
  • FlashDuty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成
    FlashDuty:一站式告警响应平台,前往此地址免费体验!值班管理UI交互优化【个人日程】从头像下拉菜单调整到值班列表页面,快速查看个人值班日程【值班列表】支持原地预览最近一周值班情况,包括当前和下一阶段值班人【值班详情】支持日历模式与时间线模式切换,查看月度计划更方便......
  • 基于javaweb的吃了吗管理系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了吃了吗管理系统的开发全过程。通过分析吃了吗管理系统管理的不足,创建了一个计算机管理吃了吗管理系统的方案。文章介绍了吃了吗管理系统的系统分析部分,包括可行性分析等,系统设计部分主......
  • [Java]关于基本数据类型与引用类型赋值时的底层分析的小结(简述)
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/17969159出自【进步*于辰的博客】目录1、关于赋值1.1基本数据类型赋值1.2String类型赋值2、关于String赋值2.1情形一2.2情形二3、关于String与char[]的比较4、不同类型引......
  • 【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(上)
    知识盲点概念介绍HashMap是基于Map接口构建的数据结构,它以键值对的形式存储元素,允许键和值都为null。由于键的唯一性,HashMap中只能有一个键为null。HashMap的特点是元素的无序性和不重复性。注意,HashMap并不是线程安全的。在多线程环境下,如果不进行适当的同步处理,可能会导致数据不......
  • 开发日记3(java面向对象)
    (一)java面向对象1、面向过程和面向对象很久很久以前,系统学习过C语言,但也只是学过,没有产生过除了考试以外的其他价值。后来工作中很多伙伴都在使用java,虽然当时自己不写java,但很久之前就有个概念,这两种语言还是不同的,一个面向过程、一个面向对象。面向过程比较容易理解,基实过程可以理......
  • Java面向对象
    Java面向对象面向对象编程(Object-OrientedProgramming,OOP)面向对象编程本质:以类的方式组织代码,以对象的组织(封装)数据三大特性:1、封装所谓的封装就是把类的属性和方法使用private修饰,不允许类的调用者直接访问,如果想要操作这些属性使用public的get、set方法。封装的作用:不......
  • Java就业学习 Day2 每日一问:我真能找到工作吗/(ㄒoㄒ)/~~
    Java开发能力:今天只看了面向对象这一节的东西,确实有了好多新的理解。①和equals的区别:说实话我现在才弄懂。。比较的其实是地址,所以如果一个变量可以用==,但对象就不行。②重载与重写的区别:重载是构造器重载,构造器的参数不同。而重写是重写方法,形象来说就是父类的方法我不满意,我......