keytool,openssl的使用

写在前面

在生成公钥私钥,配置https时经常需要用到keytool,openssl工具,本文就一起看下其是如何使用的。

keytool是jdk自带的工具,不需要额外下载,但openssl需要额外下载 。

1:使用keytool生成jks私钥文件

C:\Windows\system32>D:\\programs\\javas\\java1.8\\bin\\keytool -genkeypair -alias changgou -keyalg RSA -keypass changgou -keystore d:\test\\changgou22.jks -storepass changgou
您的名字与姓氏是什么?[Unknown]:  d
您的组织单位名称是什么?[Unknown]:  d
您的组织名称是什么?[Unknown]:  e
您所在的城市或区域名称是什么?[Unknown]:  t
您所在的省/市/自治区名称是什么?[Unknown]:  t
该单位的双字母国家/地区代码是什么?[Unknown]:  cn
CN=d, OU=d, O=e, L=t, ST=t, C=cn是否正确?[否]:  yWarning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore d:\test\\changgou22.jks -destkeystore d:\test\\changgou22.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

提示你录入的信息,测试的话随便录就行,正式使用的话最好录入真实的,不过都无所谓,最后选择y代表统一让你核对的信息,就生成jks文件了:
在这里插入图片描述
这就是我们加密时候使用的私钥文件。

2:使用keytool查看生成的jks私钥文件

C:\Windows\system32>D:\\programs\\javas\\java1.8\\bin\\keytool -list -v -keystore d:\\test\\changgou22.jks -storepass changgou
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: changgou
创建日期: 2024-4-26
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=d, OU=d, O=e, L=t, ST=t, C=cn
发布者: CN=d, OU=d, O=e, L=t, ST=t, C=cn
序列号: 44c900bc
有效期为 Fri Apr 26 13:31:03 CST 2024 至 Thu Jul 25 13:31:03 CST 2024
证书指纹:MD5:  B0:C7:50:41:C1:A5:D7:0C:C0:7D:2D:0C:B9:F2:E6:80SHA1: CC:3C:58:FA:4C:7B:FD:DE:E0:BF:FC:3B:A6:05:5D:5E:8C:15:86:33SHA256: A6:3A:BC:AE:58:75:C0:E8:5A:9A:AB:16:4D:B4:2D:BE:55:F6:DC:F6:D4:AC:C1:43:4D:E5:8A:D5:0A:BC:4B:B8
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展:#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 7E 14 12 F9 51 A8 8A 80   05 51 9E 93 72 9C EF E8  ....Q....Q..r...
0010: D4 8C E5 1B                                        ....
]
]*******************************************
*******************************************Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore d:\\test\\changgou22.jks -destkeystore d:\\test\\changgou22.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

3:使用keytool导出二进制的公钥证书

这种公钥证书可以直接安装到操作系统中。

C:\Windows\system32>D:\\programs\\javas\\java1.8\\bin\\keytool -export -alias changgou -keystore d:\\test\\changgou22.jks -file D:\\test\\changgou22.cer -storepass changgou
存储在文件 <D:\\test\\changgou22.cer> 中的证书Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore d:\\test\\changgou22.jks -destkeystore d:\\test\\changgou22.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

在这里插入图片描述
直接双击是可以安装到操作系统的:
在这里插入图片描述

3:使用keytool导出明文的公钥

一般是程序使用。

C:\Windows\system32>D:\\programs\\javas\\java1.8\\bin\\keytool -list -rfc --keystore d:\\test\\changgou22.jks | D:\\programs\\OpenSSL-Win64\\bin\\openssl x509 -inform pem -pubkey
输入密钥库口令:  Warning: Reading certificate from stdin since no -in or -new option is given
changgouWarning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore d:\\test\\changgou22.jks -destkeystore d:\\test\\changgou22.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmLXt1bG3uUneO/JnKkp6
uXf/7/qK5wgnrWttk9yCryutzzGQOYLfZbu3E9HnpJ6DHL04In9tk3s04+NfUS7z
yricpRjoPfnppZHI/DEqTQioKmg90j8hdASZIrqsn6dwYy/hK7LxMf+WCeLw8gFL
T3f2R3ZMYo6szcdFkNp5mIvigalVV4+OUe268DxJW4X1mAwEdS2ry561kTkqiBvo
djnID7KA/qVsURkiqb7wRHVCgWdL6dMO0wdL/aacTyM7toXxASgw1yLSJJjUIaG2
aydmlLAQEproSFbx90p13ponVWRuh+8yIQwDO+zvq/itwuc8dGHHnPaQ5TWvicQ9
SwIDAQAB
-----END PUBLIC KEY-----
-----BEGIN CERTIFICATE-----
MIIDMTCCAhmgAwIBAgIERMkAvDANBgkqhkiG9w0BAQsFADBJMQswCQYDVQQGEwJj
bjEKMAgGA1UECBMBdDEKMAgGA1UEBxMBdDEKMAgGA1UEChMBZTEKMAgGA1UECxMB
ZDEKMAgGA1UEAxMBZDAeFw0yNDA0MjYwNTMxMDNaFw0yNDA3MjUwNTMxMDNaMEkx
CzAJBgNVBAYTAmNuMQowCAYDVQQIEwF0MQowCAYDVQQHEwF0MQowCAYDVQQKEwFl
MQowCAYDVQQLEwFkMQowCAYDVQQDEwFkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAmLXt1bG3uUneO/JnKkp6uXf/7/qK5wgnrWttk9yCryutzzGQOYLf
Zbu3E9HnpJ6DHL04In9tk3s04+NfUS7zyricpRjoPfnppZHI/DEqTQioKmg90j8h
dASZIrqsn6dwYy/hK7LxMf+WCeLw8gFLT3f2R3ZMYo6szcdFkNp5mIvigalVV4+O
Ue268DxJW4X1mAwEdS2ry561kTkqiBvodjnID7KA/qVsURkiqb7wRHVCgWdL6dMO
0wdL/aacTyM7toXxASgw1yLSJJjUIaG2aydmlLAQEproSFbx90p13ponVWRuh+8y
IQwDO+zvq/itwuc8dGHHnPaQ5TWvicQ9SwIDAQABoyEwHzAdBgNVHQ4EFgQUfhQS
+VGoioAFUZ6Tcpzv6NSM5RswDQYJKoZIhvcNAQELBQADggEBAGNTxcFQtRofy6Nm
Mo78mkj/fXcEDm4qKij3sYTKDhsmDzKhOU9f3eqNAeaCZsENiEJsXhXInIlIsqVV
P8lRnc/BX8oViuSynVe+QQ6/yAL3238Jkiz6k3aA6VOvY+wGrCRmH0dND3Rn8XmI
pYf+fyyNjXnqvG+jdMK/3/cyvTGjmyB9C6132E8wAo31L6KyZ3wjMggq1v9gvXdi
05KY0Ys3zR6F9Pbr9gSofWXELFH3s2v3Oysi3dW1dtObC6ECNdEnW7QybzKr9bo3
ccCY2jZpfRCoukuj3DVTfdXuu30bXgE/1CCeTXdPpewdq37zW2dLK43sLvsuDh6r
aL8nbvI=
-----END CERTIFICATE-----C:\Windows\system32>

在这里插入图片描述
将红框中的文件复制到文件中并命名为.cert即可用来作为公钥来解密。

写在后面

参考文章列表

SpringSecurityOauth2授权模式与使用RSA非对称加密方式生成公钥私钥 。

使用JDK的 keytool 生成JKS、使用openssl查看公钥、导出公钥publickey.cer证书 。

多知道一点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/830307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB攻防-IIS中间件PUT漏洞

IIS6.0 server在web服务扩展中开启了WebDAV&#xff08;Web-based Distributed Authoring and Versioning&#xff09;。WebDAV是一种HTTP1.1的扩展协议。它扩展了HTTP 1.1&#xff0c;在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法&#xff0c;如PUT&#xff0c…

从事plc工资多少?是不是没前途?

60%以上的人都是8-15K之间吧 应届生刚入行正常就8-10k的样子&#xff0c;根据工龄和经验的增加会慢慢涨&#xff0c;但多大数人也就到15k。 如果做的确实比较好&#xff0c;能力突出的也有20k25k30k的&#xff0c;20k就不说了还正常&#xff0c;30k以上那就算是翘楚了属于行业…

system-auth与password-auth的区别

/etc/pam.d/system-auth和/etc/pam.d/password-auth是两个不同的PAM配置文件&#xff0c;它们在系统上的作用和功能略有不同。 /etc/pam.d/system-auth配置文件是系统的全局认证配置文件&#xff0c;通常包含系统范围内适用的认证规则和策略。这个文件会被其他PAM配置文件引用&…

自动驾驶横向控制算法

本文内容来源是B站——忠厚老实的老王&#xff0c;侵删。 三个坐标系和一些有关的物理量 使用 frenet坐标系可以实现将车辆纵向控制和横向控制解耦&#xff0c;将其分开控制。使用右手系来进行学习。 一些有关物理量的基本概念&#xff1a; 运动学方程 建立微分方程 主要是弄…

Linux进程——进程的概念(PCB的理解)

前言&#xff1a;在了解完冯诺依曼体系结构和操作系统之后&#xff0c;我们进入了Linux的下一篇章Linux进程&#xff0c;但在学习Linux进程之前&#xff0c;一定要阅读理解上一篇内容&#xff0c;理解“先描述&#xff0c;再组织”才能更好的理解进程的含义。 Linux进程学习基…

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)

一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置&#xff1a;2C&#xff0c;2G内存&#xff0c;50G存储 3、集群架构 从表格中&#xff0c;可以看出&#xff0c;Hadoop集群&#xff0c;主要有2部分&#xff0c;一个是HDFS服务&#xff0c;一个是YARN服务 …

记一次内网渗透

环境搭建&#xff1a; 排错&#xff1a; 在搭建过程中发现报错&#xff0c;删除这部分内容就成功解决。 信息收集 端口扫描 使用namp -sn 探测存活IP 接着去查看服务 web服务 然后发现80端口。访问 发现有管理员接口&#xff0c;并泄露了默认用户名和密码。 弱口令登录 …

linux dhcp服务器

虚拟机设置为dhcp后&#xff0c;启动会自动分配ip的原理 在vSphere环境中&#xff0c;当虚拟机设置为DHCP&#xff08;动态主机配置协议&#xff09;时&#xff0c;分配IP地址的功能通常由DHCP服务器承担。DHCP服务器负责在网络上为设备&#xff08;包括虚拟机&#xff09;提供…

vue中配置 测试、准生产、生产环境

在package.json,scripts中配置 "dev": "vue-cli-service serve --open --mode dev",在项目根目录下配置 新建 .env.dev 和.env.development文件 //类似于title NODE_ENV "serve" //各环境API数据接口请求地址 VUE_APP_BASE_API "http:…

软件测试笔记_习题_面经

软件测试------按测试阶段划分有几个阶段? 单元测试、集成测试、系统测试、验收测试 软件测试------按是否查看源代码划分有几种测试方法? 黑盒、白盒、灰盒 软件测试------按是否运行划分有几种测试方法? 静态测试、动态测试 软件测试------按是否自动化划分有几种测试方…

「PHP系列」PHP Exception(异常处理)

文章目录 一、PHP异常处理简介二、PHP异常是什么&#xff0c;怎么发生三、PHP异常处理机制四、Try、throw 和 catch1. try 块2. throw 语句3. catch 块 五、相关链接 一、PHP异常处理简介 PHP异常处理是一种机制&#xff0c;用于在程序执行期间捕获和处理错误或异常情况。当程…

在远程服务器上安装anaconda以及配置pytorch虚拟环境

目录 第一步&#xff1a;官网或者清华源下载Anaconda。 第二步&#xff1a;创建虚拟环境。 第三步&#xff1a;在服务器终端输入nvidia-smi查看服务器信息。 第四步&#xff1a;在pytorch官网找到对应版本cuda的命令。 第一步&#xff1a;官网或者清华源下载Anaconda。 官网…

智慧安防边缘计算硬件AI智能分析网关V4算法启停的操作步骤

TSINGSEE青犀视频智能分析网关V4内置了近40种AI算法模型&#xff0c;支持对接入的视频图像进行人、车、物、行为等实时检测分析&#xff0c;上报识别结果&#xff0c;并能进行语音告警播放。硬件管理平台支持RTSP、GB28181协议、以及厂家私有协议接入&#xff0c;可兼容市面上常…

矿山自动驾驶技术点分析

自动驾驶多用于乘用车领域&#xff0c;目前矿山自动驾驶量产落地前景广阔&#xff0c;由于矿山工作环境差&#xff0c;污染严重&#xff0c;而且通常矿区面积大&#xff0c;工作任务单一&#xff0c;场景固定&#xff0c;是一个适合进行自动驾驶落地的场景。 矿山自动驾驶俗称智…

02 - 步骤 Kafka consumer

简介 Kafka consumer 步骤&#xff0c;用于连接和消费 Apache Kafka 中的数据,它可以作为数据管道的一部分&#xff0c;将 Kafka 中的数据提取到 Kettle 中进行进一步处理、转换和加载&#xff0c;或者将其直接传输到目标系统中。 使用 场景 我需要订阅一个Kafka的数据&…

Python中的并发编程:利用asyncio实现高效I/O操作

摘要 在现代软件开发中,处理高并发请求和优化I/O密集型任务的性能至关重要。Python的asyncio库为开发者提供了一套简洁而强大的异步I/O编程工具,使得编写高性能的并发应用程序成为可能。本文将深入介绍asyncio的基本概念、核心组件及其在实际项目中的应用,通过示例代码展示如…

MyBatis(环境配置+基本CRUD)

文章目录 1.基本介绍1.为什么需要MyBatis&#xff1f;2.MyBatis介绍3.MyBatis工作示意图4.MyBatis的优势 2.快速入门文件目录1.需求分析2.数据库表设计3.父子模块环境配置1.创建maven父项目2.删除父项目的src目录3.pom.xml文件文件解释 4.创建子模块1.新建一个Module2.创建一个…

MySQL Binlog 闪回与分析

文章目录 前言1. 修改 event 实现闪回1.1 binlog 结构1.2 闪回案例1.3 方法总结 2. 解析文本闪回2.1 mysqlbinlog2.2 闪回案例2.3 方法总结 3. 在线订阅闪回3.1 mysql-replication3.2 binlog2sql3.3 方法总结 4. Binlog 分析方法4.1 分析场景4.2 辅助定位事务4.3 方法总结 5. 平…

代码随想录训练营Day 31|Python|Leetcode|435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

435. 无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 解题思路&#xff1a; 本题重点在于求重叠区间&#xff0c;将所有区间按照左边界从小到大排序。从第二个区…

【C/C++笔试练习】OSI分层模型、源端口和目的端口、网段地址、SNMP、状态码、tcp报文、域名解析、HTTP协议、计算机网络、美国节日、分解因数

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;OSI分层模型&#xff08;2&#xff09;源端口和目的端口&#xff08;3&#xff09;网段地址&#xff08;4&#xff09;SNMP&#xff08;5&#xff09;状态码&#xff08;6&#xff09;tcp报文&#xff08;7&#xff09;域…