当前位置: 首页 > news >正文

.keystore文件转成pkcs1.pem文件记录

背景:java的密钥解析跟C#的有些区别,C#需要使用pksc1文件

## 下载openssl 1.1.1版本地址
https://kb.firedaemon.com/support/solutions/articles/4000121705-openssl-binary-distributions-for-microsoft-windows#Download-OpenSSL
zip包需要手动配置环境变量
	1、执行命令:(cd "下载openssl 1.1.1的地址"),我的是"C:\Users\ghc\Downloads\openssl-1.1.1w\openssl-1.1"
	2、执行命令:"dir /b",存在如下文件,如果有x86和x64的话,需要那个用那个
		LICENSE
		version.txt
		x86
		x64
		ssl
	我这里x64的,为了省事就把x64下的文件放到跟bin目录一个级别下了,然后吧x64和x86删掉,就变成了如下这样
		LICENSE
		version.txt
		bin
		include
		lib
		ssl
	3、配置环境变量
		set OPENSSL_HOME=C:\OpenSSL
		set OPENSSL_CONF=%OPENSSL_HOME%\ssl\openssl.cnf
		set PATH=%OPENSSL_HOME%\bin;%PATH%
		cd /d %OPENSSL_HOME%
	4、查看版本
		openssl version -a

 开始转换

1.查看.keystore文件内容

keytool -list -v -keystore C:\Users\ghc\Desktop\文件名.keystore

2.从JKS转换到PKCS12,生成后在C盘的用户目录下 

keytool -importkeystore -srckeystore C:\Users\ghc\Desktop\文件名.keystore -destkeystore keystore_old.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456 -srcalias 2022040102 -destalias 2022040102 -srckeypass 123456 -destkeypass 123456 -noprompt

这里的123456是密钥密码,2022040102是别名

3.从PKCS12转换成PEM格式

openssl pkcs12 -in keystore_old.p12 -out keystore_old.pem -passin pass:123456 -passout pass:123456

4. pkcs8转pkcs1,显示 BEGIN RAS 开头的就可以了 

openssl rsa -in keystore_old.pem -out pkcs1.pem

可能会用到的命令

## 取出私钥
用记事本打开PEM格式文件,从PEM格式的 certificate chain 中取出私钥,保存为 privateKey.key
## 生成私钥
openssl rsa -in privateKey.key -check 私钥将被显示在命令行界面上

## 从私钥中提取公钥
openssl rsa -in pkcs1.pem -pubout -out public.pem

 

 

 

相关文章:

  • 【GStreamer】基于gst和gtk的简单videoplayer
  • 风虎云龙R87与RH87八卡服务器震撼首发
  • 如何获取BIOS信息
  • 如何解决软件开发中用户参与度低,反馈滞后的问题
  • IIC总线注意事项
  • XML布局文件与常用View组件
  • Linux(ubuntu)环境下部署The Fuck项目的方法(保姆级教程)
  • 永磁同步电机无速度算法--改进滑模观测器SMO(边界层法)
  • 解决JSON乱码问题:一个实用的.NET工具类
  • 1、语言的本质
  • 微服务保护:Sentinel
  • 三、0-1搭建springboot+vue3前后端分离-idea新建springboot项目
  • 3.5 SpringBootWeb案例
  • vue3 使用easyPlayer 遇到 Cannot read properties of undefined (reading ‘_c‘) 解决方案
  • 深入C语言:指针与数组的经典笔试题剖析
  • 探索DeFi世界:用Python开发去中心化金融应用
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例4: 自定义插槽
  • 共享模型之管程(悲观锁)
  • vue2 插值语法中使用可选链运算符(.?)compile异常排查思路
  • Codeforces Round 835 (Div. 4)题解ABCDEFG
  • wordpress网页慢/seo外包优化公司
  • 美食网站建设的背景和目的/python培训
  • 重庆网站建设科技公司/友情链接的检查方法
  • 使馆网站建设/2345网址导航
  • 100款免费软件网站大全/营销渠道的概念
  • 做网站前台和后台是什么/京东关键词优化技巧