keytool,openssl的使用

news2024/12/23 19:39:34

写在前面

在生成公钥私钥,配置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是否正确?
  [否]:  y


Warning:
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:80
         SHA1: CC:3C:58:FA:4C:7B:FD:DE:E0:BF:FC:3B:A6:05:5D:5E:8C:15:86:33
         SHA256: 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
changgou

Warning:
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.coloradmin.cn/o/1627277.html

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

相关文章

Office Word自动编号转文本

原理 使用office自带的宏功能&#xff0c;一键替换 过程 调出word的“开发工具”选项 文件->选项->自定义功能区->选中开发工具->确定 创建宏 开发工具->宏->创建宏 编写宏 在弹出来的框里&#xff0c;替换代码为 Sub num2txt() ActiveDocument.…

ArcGIS批量寻找图层要素中的空洞

空洞指的是图层中被要素包围所形成的没有被要素覆盖的地方&#xff0c;当图层要素数量非常庞大时&#xff0c;寻找这些空洞就不能一个一个的通过目测去寻找了&#xff0c;需要通过使用工具来实现这一目标。 一、【要素转线】工具 利用【要素转线】工具可以将空洞同图层要素处于…

电商技术揭秘三十五:智能风控功能架构浅析

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘二十八&#xff1a;安全与合规性保障 电商技术揭秘二十九&#xff1a;电商法律合规浅析 电商技术揭秘三十&#xff1a;知识产权保…

WEB攻防-PHP特性-CMS审计实例

前置知识&#xff1a;PHP函数缺陷 测试环境&#xff1a;MetInfo CMS 函数缺陷导致的任意文件读取 漏洞URL&#xff1a;/include/thumb.php?dir 漏洞文件位置&#xff1a;MetInfo6.0.0\app\system\include\module\old_thumb.class.php <?phpdefined(IN_MET) or exit(No…

ElasticSearch语句中must,must_not,should 组合关系

前言&#xff1a; 在实际应用中&#xff0c;发现当bool中同时使用must和should 没有达到想要的想过&#xff0c;而是只展示了must中的命中数据&#xff0c;所以打算探究一下bool中 三种逻辑关系的组合。 上述查询语句只展示了must的结果&#xff0c;没有should中的结果&#…

Kafka 3.x.x 入门到精通(06)Kafka进阶

Kafka 3.x.x 入门到精通&#xff08;06&#xff09;——对标尚硅谷Kafka教程 3. Kafka进阶3.1 Controller选举3.2 Broker上线下线3.3 数据偏移量定位3.4 Topic删除3.5 日志清理和压缩3.7 页缓存3.8 零拷贝3.9 顺写日志3.10 Linux集群部署3.10.1 集群规划3.10.2 安装虚拟机(略)3…

MemFire解决方案-物联网数据平台解决方案

方案背景 随着各种通讯、传感技术发展&#xff0c;数据通讯成本的急剧下降&#xff0c;数以万亿计的智能设备&#xff08;智能手环、智能电表、智能手机、各种传感器设备等&#xff09;接入网络&#xff0c;并源源不断的产生海量的实时数据。这些海量数据的价值挖掘&#xff0…

15.Blender Eevee和Cycles渲染引擎对比

初步介绍 Eevee是实时渲染的引擎&#xff0c;会省略一些解算方式&#xff0c;尤其对光线和阴影 Cycles会考虑这些因素&#xff0c;所以会对光线和阴影的表达更加真实&#xff0c;有一个实时光线追踪的功能 Cycles渲染完之后&#xff0c;每移动一次画面&#xff0c;都会重新渲染…

机器学习之Scikit-learn基础教程

Scikit-learn&#xff08;简称sklearn&#xff09;是一个广泛使用的Python机器学习库&#xff0c;它提供了各种算法和工具&#xff0c;用于数据挖掘和数据分析。本教程将介绍sklearn的基本概念和使用方法。 1. 安装Scikit-learn 如果你还没有安装scikit-learn&#xff0c;可以…

设计模式学习笔记 - 开源实战五(下):总结Mybatis中用到的10种设计模式

概述 本章再对 Mybatis 用到的设计模式做一个总结。它用到的设计模式也不少。有些前面章节已经经过了&#xff0c;有些则比较简单。 SqlSessionFactoryBuilder&#xff1a;为什么要用建造者模式来创建 SqlSessionFactory&#xff1f; 在《Mybatis如何权衡易用性、性能和灵活性…

nvm的下载与安装

nvm&#xff08;Node Version Manager&#xff09;是一个用于管理 Node.js 版本的工具&#xff0c;它允许您在同一台计算机上安装和切换不同的 Node.js 版本。 一、下载地址 https://github.com/coreybutler/nvm-windows/releases 二、安装nvm 三、设置环境变量 在命令提示…

python之List列表

1. 高级数据类型 Python中的数据类型可以分为&#xff1a;数字型&#xff08;基本数据类型&#xff09;和非数字型&#xff08;高级数据类型&#xff09; 数字型包含&#xff1a;整型int、浮点型float、布尔型bool、复数型complex 非数字型包含&#xff1a;字符串str、列表l…

URL路由基础与Django处理请求的过程分析

1. URL路由基础 对于高质量的Web应用来讲&#xff0c;使用简洁、优雅的URL设计模式非常有必要。Django框架允许设计人员自由地设计URL模式&#xff0c;而不用受到框架本身的约束。对于URL路由来讲&#xff0c;其主要实现了Web服务的入口。用户通过浏览器发送过来的任何请求&am…

张小泉签约实在智能,用实在Agent打造自动化高

在不少老杭州人的童年记忆里&#xff0c;妈妈裁剪衣服、料理食材、修剪各种物品&#xff0c;用的都是张小泉刀剪。 近日&#xff0c;实在智能与“刀剪第一股”张小泉&#xff08;股票代码&#xff1a;301055.SZ&#xff09;正式达成合作&#xff0c;实在Agent数字员工助力张小…

PT Knockin - 仅需两分钟的在线电子邮件安全检查

我们很高兴向您介绍电子邮件安全评估工具 PT Knockin。 PT Knockin 是一个基于云的 SaaS 解决方案。这意味着企业无需下载或安装任何东西。他们只需访问 PT Knockin 网页&#xff0c;输入电子邮件地址并登录&#xff0c;然后在两分钟内收到电子邮件安全有效性分析报告以及解决…

Unreal Engine添加UGameInstanceSubsystem子类

点击C类文件夹&#xff0c;在右边的区域点击鼠标右键&#xff0c;在弹出的菜单中选择“新建C类”在弹出的菜单中选中“显示所有类”&#xff0c;选择GameInstanceSubsystem作为父类, 点击“下一步”按钮输入子类名称“UVRVIUOnlineGameSubsystem”&#xff0c;选择插件作为新类…

HTTP网络协议的请求方法,具体详解(2024-04-26)

1、HTTP 即超文本传输协议&#xff0c;是一种实现客户端和服务器之间通信的响应协议&#xff0c;它是用作客户端和服务器之间的请求 根据 HTTP 标准&#xff0c;HTTP 请求可以使用多种请求方法。 2、方法分类 HTTP1.0 定义了三种请求方法&#xff1a; GET, POST 和 HEAD 方…

[Linux][网络][网络基础][协议][网络传输基本流程][数据包封装和分用]详细讲解

目录 1.认识协议1."协议"本质就是一种约定2.计算机中的协议 2.网络协议初识1.协议分层2.OSI七层模型3.TCP/IP五层(四层)模型 3.网络传输基本流程0.预备知识1.跨网络的两台主机通信2.网络通信的基本轮廓 4.数据包封装和分用1.数据封装的过程2.数据分用的过程3.总结 5.…

杰发科技AC7840——ADC简介(1)_双路ADC同时使用

0. 简介 1. 特性 2. 双路ADC Sample里面没有双路的&#xff0c;以为那个规则组只有一个通道&#xff0c;看了外设寄存器才发现&#xff0c;原来他的通道是双路的。 注意1: ADC硬件引脚的配置 注意2: 规则组长度设置和 RSEQ序列号和CH通道号组合应该就对应了转换顺序&#xff0…

玩转手机在AidLux上安装宝塔面板

AidLux&#xff0c;手机不用刷机、不用root&#xff0c;直接在手机应用市场就能下载使用。 1.4G的应用包&#xff0c;看起来挺大的&#xff0c;那是因为内嵌了一套完整的AIoT应用开发和部署平台。 不仅Android手机可以玩&#xff0c;华为的Harmony系统也可以使用。 使用它最主…