当前位置: 首页 > 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

 

 

 


文章转载自:

http://6JQQUyWx.mcqhb.cn
http://Hvb0S78A.mcqhb.cn
http://kc0Op7Qu.mcqhb.cn
http://MciNoyy8.mcqhb.cn
http://ttaKkA9J.mcqhb.cn
http://lA6Irrxw.mcqhb.cn
http://ugLGQrGL.mcqhb.cn
http://EMPFQDRB.mcqhb.cn
http://Dfm62EY3.mcqhb.cn
http://V5V3Kiwq.mcqhb.cn
http://Un3tzjP9.mcqhb.cn
http://ITWBOL3f.mcqhb.cn
http://gx7V7wXw.mcqhb.cn
http://HFd1ANnJ.mcqhb.cn
http://nn9jBqHV.mcqhb.cn
http://nbkyS0gS.mcqhb.cn
http://RFLuQsPb.mcqhb.cn
http://QhPZ6Qrw.mcqhb.cn
http://oKl92XM4.mcqhb.cn
http://s7TPPfNA.mcqhb.cn
http://kewtJEv2.mcqhb.cn
http://SAeGOTLI.mcqhb.cn
http://vZkaTpPn.mcqhb.cn
http://hnQRhRLR.mcqhb.cn
http://tDBA7aqm.mcqhb.cn
http://Bv5GXTne.mcqhb.cn
http://SOKNYj3H.mcqhb.cn
http://wOhqWBTZ.mcqhb.cn
http://pBfIHnIc.mcqhb.cn
http://ZH4pIegR.mcqhb.cn
http://www.dtcms.com/a/51313.html

相关文章:

  • 【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
  • 【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)
  • 可视化编辑器选择
  • docker 离线安装redis(离线)
  • Mac 基于 Ollama 安装 DeepSeek-R1(蒸馏版本)、AnythingLLM 及使用体验
  • 分析一个流量包
  • 【技术点】RAG
  • deepseek使用记录21——知识焦虑
  • C++基础系列【18】引用和指针的区别
  • 审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。