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

.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://www.kler.cn/a/574185.html

相关文章:

  • 阿里云 DataWorks面试题集锦及参考答案
  • 产品需求分析-概览
  • 高效便捷的 Spring Boot 通用控制器框架
  • c# wpf 开发中安装使用SqlSugar操作MySql数据库具体操作步骤保姆级教程
  • 智慧校园可视化:开启校园管理的数字化新未来
  • 2005-2019年各省城镇人口数据
  • 【hello git】git 扫盲(add、commit、push、reset、status、log、checkout)
  • 【论文分享】推理大模型Post-Training技术的全面综述
  • Java数组详解/从JVM理解数组/数组反转/随机排名/数组在计算机如何存储
  • Unity Shader 学习15:可交互式雪地流程
  • Codepen和tailwindcss 进行UI布局展示
  • VBA第十八期 如何获得WPS中已经安装字体的列表
  • 在vue2项目中el-table表格的表头和内容错位问题
  • 责任链模式:让请求在链条中流动
  • 基于GeoTools的GIS专题图自适应边界及高宽等比例生成实践
  • pytorch3d学习(二)——安装与纹理显示demo测试
  • 2025年中职大数据应用与服务竞赛培训方案分享
  • 介绍一个能支持高带宽的EDID编辑软件
  • 23种设计模式之《状态模式(State)》在c#中的应用及理解
  • Spring Boot整合Resilience4j教程