使用JDK的 keytool 生成JKS,修改查看JKS信息

news2025/1/13 13:18:08

什么是keytool
keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,在JDK 1.4以后的版本中都包含了这一工具,所以不用再上网去找keytool的安装,电脑如果安装有JDK1.4及以上,就可以直接使用。

第一步:先安装JDK环境

可以配置全局变量或者在我们的JDK安装在原始目录下,使用CMD访问到JDK的bin目录,可以输入keytool查看一下命令

注意事项:你的证书是在JDK1.8的环境制作的,但是你却在JDK1.7的环境下去转换格式,是会报故障的,所以JDK的环境也是很重要的

第二步:生成JKS文件
在cmd中执行JDK中keytool的命令:
# keytool -genkeypair -alias test -validity 36500 -keyalg RSA -dname "CN=jwt,OU=jtw,O=jwt,L=zurich,S=zurich, C=CH" -keypass 123456 -keystore test.jks -storepass 123456
------------------------------------------------------------------------------------------
# keytool -genkeypair
-alias test 别名
-validity 36500 过期时间(天),默认大约90天
-keyalg RSA 加密算法
-dname "CN=jwt,OU=jtw,O=jwt,L=zurich,S=zurich, C=CH" 名字与姓氏,组织单位,城市,区县,国家代码
-keypass 123456 key密码,证书的密码
-keystore test.jks 生成的jks文件位置和名称
-storepass 123456 strore密码,证书库的密码

或者省略-dname参数(执行命令时会再次提示输入):
# keytool -genkeypair -alias test -validity 36500 -keyalg RSA -keypass 123456 -keystore test.jks -storepass 123456

执行完命令后,会警告:

JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore test.jks -destkeystore test.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

此时,安装提示的命令,再执行一下即可,整个过程如下:

 或者:

 源秘钥口令就是上面设置的-keypass 

更改密钥库密码

$ keytool -storepasswd -keystore keystorename

Enter keystore password:

New keystore password:

Re-enter new keystore password:

  1.  老密码
  2. 新密码
  3. 新密码

更改密钥库别名密码

$keytool -keypasswd -keystore keystorename -alias aliasname

Enter keystore password:

New key password for :

Re-enter new key password for :

  •  jks文件密码
  • 别名老密码
  • 别名新密码
  • 别名新密码

修改jks文件名:

选中,重命名就可以了

查看jks签名库里的签名信息:

keytool -v -list -keystore test.jks

更改别名:

keytool -changealias -keystore my.jks -alias myalias -destalias otheralias

删除别名:

keytool -delete -alias myalias -keystore my.jks -storepass jkspassword

查看.apk包里的签名详细:

jarsigner -verify -verbose -certs app-release.apk

导出证书:

keytool -export -alias myalias -keystore my.jks -file myalias.crt -storepass jkspassword

打印证书信息:

keytool -printcert -file myalias.crt

将证书导入到密钥库并生成别名

keytool -import -alias myotheralias -file myalias.crt -keystore my1.jks -storepass jkspassword

修改别名里的信息,注MD5的值也会同时被修改

keytool -selfcert -alias myalias -keypass aliaspassword -keystore my.jks -storepass jkspassword -dname "CN=FirstAndLastName1, OU=OrganizationalUnit1, O=Organization1, L=CityOrLocality1, ST=StateOrProvince1, C=CountryCode1, EMAILADDRESS=email1@gmail.com" 

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

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

相关文章

TOOM舆情分析网络舆情监控平台研究现状

随着网络舆情迅速发展,国内的舆情监测行业也日渐完善,舆情监控平台在企业发展过程中发挥重要作用,但同样也是有问题存在的,接下来TOOM舆情分析网络舆情监控平台研究现状? 一、网络舆情监控平台 网络舆情监控平台是一种能够对网…

maven概述以及简单入门

目录 1、Maven概述 1.1、Maven是什么 1.2 依赖管理 1.3 maven管理资源存放地址 1.4 Maven的作用 2.Maven基础概念 2.1仓库概念 2.坐标概念 1、Maven概述 1.1、Maven是什么 在Javaweb开发中,需要使用大量的jar包,我们手动去导入; 如何…

Mask RCNN网络源码解读(Ⅵ) --- 自定义数据集读取:MS COCOPascal VOC

目录 1.如何在Mask R-CNN中读取有关COCO数据集的内容(my_dataset_coco.py) 1.1 CocoDetection类 1.1.1 初始化方法__init__ 1.1.2 __getitem__方法 1.1.3 parse_targets 2.如何在Mask R-CNN中读取有关Pascal VOC数据集的内容(my_datas…

docker搭建 java web服务

安装 Docker 只需通过以下命令即可安装 Docker 软件: >> rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm >> yum -y install docker-io可使用以下命令,查看 Docker 是否安装成功: …

SpringMvc源码分析(一):启动tomcat服务器,加载DispatcherServlet并将DispatcherServlet纳入tomcat管理

SpringMvc是主流的MVC框架,它是基于Spring提供的web应用框架,该框架遵循servlet规范。该框架的作用是接收Servlet容器(如Tomcat)传递过来的请求并返回响应。SpringMvc的核心就是servlet实例,而这个servlet在spring中就…

IB地理科SL和HL课程的区别

今期我们会谈到IB地理科这一科目的标准级别(StandardLevel,SL)课程和高级级别(HigherLevel,HL)。 两课程的最大区别:试卷数目和题目数量的不同,但两者的教材内容和科目指引(SubjectG…

VTK-不同类型的数据集

前言:本博文主要讲解vtk中不同类型的数据集以及它们之间的关系,如何进行转换等。 目录 vtkImageData vtkRectilinearGrid vtkStructuredGrid vtkUnstructuredPoints vtkPolyData vtkUnstructuredGrid vtkPolyData->vtkImageData vtkPolyData…

Go反射学习

文章目录反射介绍:反射应用点变量-空接口-reflect.Value(Type)类型值方法结构体:反射修改变量值反射操作结构体MethodCall反射介绍: 反射是在运行时,动态的获取变量的各种信息,如变量的类型,类…

Springboot中如何优雅的写好Service层代码

前言《Springboot中如何优雅的写好controller层代码》一不小心进入了全站综合热榜,收到了大家热情的支持,非常感谢大家,同时说明大家都有同样一个诉求,想好好写代码,不想给别人挖坑,争取可以早点下班。今天…

【Spring源码】CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition()详解

CommonAnnotationBeanPostProcessor的postProcessMergedBeanDefinition()中一共包含3个方法,上篇文章我们介绍了的第一个方法,它一个父类调用(如下图),其实就是处理PostConstruct和PreDestroy这两个注解的这篇我们继续…

一起聊聊数据治理

统一赵秦车轨,推行秦篆,统一七国文字,兵器统一标准,统一度量衡… 我们优秀的数据治理专家-秦始皇! 数据治理这个名字起得好,一般人听不懂,实际上并不是IT人员的专属,广义上来说我们日…

纳米软件分享:为什么要进行电池充放电测试?电池充放电系统测试步骤

在日常生活中电能一直是我们接触过的最为方便的能源,而我们也通过各种方法对电能进行储存从而让我们能随时随地的使用这种能源,比如手机中的锂电池、电动车中的充电电池等。 充电锂电池经过多年的技术革新,综合性能不断提升,已经应…

基于node.js和Vue的食堂窗口美食评价系统/美食网站

摘要本论文主要论述了如何使用Node.js语言开发一个食堂窗口美食评价系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述食堂窗口美食评价系统的当前背景以及系…

【高级人工智能】国科大《高级人工智能》联结主义 笔记 + 考试回忆

国科大《高级人工智能》吴老师部分——联结主义笔记 吴老师上课dddd,上课东西太多太杂,听不太懂比较煎熬,但是课后花点时间理解理解,还是挺有帮助的考试按照重点复习即可,虽然答疑时提到的传教士野人没考😅…

神经网络、激活函数

目录1.双层神经网络计算神经网络层数的时候不包括输入层。2.逻辑回归的神经网络如何实现隐藏单元如何计算?,3x1矩阵,3x1矩阵,上标[1]表示第一层向量化(单个训练样本):隐藏层:,,为4x3矩阵,x为3x1…

spring cloud gateway 整合sentinel使用过程使用遇到的问题

最近在进行spring cloud gateway 整合 sentinel 在此过程中遇到的问题进行汇总 1. spring gateway 整合sentinel gateway的路由会自动加一个前缀 效果如下 问题原因 代码在 org.springframework.cloud.gateway.discovery.DiscoveryClientRouteDefinitionLocator#DiscoveryClie…

【迅为iMX6Q】开发板 Linux 5.15.71 RTL8211E 以太网驱动适配

相关参考 【迅为iMX6Q】开发板 u-boot 2022.04 SD卡 启动 【迅为iMX6Q】开发板 u-boot 2020.04 RTL8211E 以太网驱动适配 【迅为iMX6Q】开发板 Linux 5.15.71 SD卡 启动 开发环境 win10 64位 VMware Workstation Pro 16 ubuntu 22.04 -【迅为imx6q】开发板,…

【学习笔记】【Pytorch】三、常用的Transforms

【学习笔记】【Pytorch】三、常用的Transforms学习地址主要内容一、Transforms模块介绍二、transforms.ToTensor类的使用1.使用说明2.代码实现三、transforms.Normalize类的使用1.使用说明2.代码实现四、transforms.Resize类的使用1.使用说明2.代码实现五、transforms.Compose类…

IIC协议初识及OLED写入指令、数据和显示的代码实现

目录 一、IIC协议概述 二、IIC协议起始和终止信号 三、应答信号 四、数据发送的时序 五、OLED写入指令和数据 六、OLED显示一个点的思路 七、OLED显示一个点的代码 八、OLED列地址 九、OLED显示图片 一、IIC协议概述 1、IIC概述 IIC(集成电路总线&#…

UI设计师与UE设计师有什么区别?

设计在我们的生活中扮演着重要的角色,但是面对越来越多的专业术语和相近的岗位职责,人们总是困惑:明明是差不多的岗位,为什么要整那么多的词?其实,在它们神似的外表下,潜藏着巨大的差异&#xf…