《JDK学习》使用JDK的keytool生成p12证书

article/2025/9/19 14:08:04

由于前段时间在研究itext技术中的签章技术中遇到了数字签名的问题,需要用到p12证书,因此就撰写一篇用我们jdk自带的keytool 工具生成p12证书的方法供各位交流。

  • keytool 简介
    keytool 是java 用于管理密钥和证书的工具.
    其功能包括
    • 创建并管理密钥
    • 创建并管理证书
    • 作为CA 为证书授权
    • 导入导出证书

主要格式
keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;
keystore 文件主要使用 JKS格式(也可支持其他格式),带密钥存储;其中私钥的存储也有独立的密码;
其他格式

下面我们就通过jdk自带的keytool来生成一个p12证书

  • 首先我们打开dos命令窗口,然后将路径切换到你安装jdk的bin目录文件下,如下图所示:
    这里写图片描述
  • 接下来,我们就可以在该目录下面使用命令来生成一个p12证书了。步骤如下:

1. 生成私钥和证书

   1)我们首先执行如下命令:

keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 3650 -keystore tomatocc.keystore

参数说明

  • storepass keystore 文件存储密码
  • keypass 私钥加解密密码
  • alias 实体别名(包括证书私钥)
  • dname 证书个人信息
  • keyalt 采用公钥算法,默认是DSA
  • keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA)
  • validity 有效期
  • keystore 指定keystore文件

2)执行完上述指令后,会提示我们输入一些信息,我们按照提示输入即可,具体信息如下图:
这里写图片描述

  • 我们注意一下最后一行: 输入的密钥口令,这里因为我们在上面设置了一个密钥库的口令,因此这里的口令如果和上面设置的口令一样的话,就直接回车就好,如果两个口令不一样,那么我们可以直接输入,然后回车就好。

    3)然后我们打开jdk的bin目录,就可以看到我们生成的私钥。
    这里写图片描述

2. 查看keystore详情

   1)我们执行如下命令,然后输入密钥库口令再回车,就可以看到我们的keystore详情

keytool -v -list -keystore tomatocc.keystore

这里写图片描述

3. 证书导入导出

      1)我们将我们生成的密钥信息导出为.cer格式的证书。我们执行下面命令,输入密钥库口令即可。

keytool -exportcert -keystore tomatocc.keystore -file tomatocc.cer -alias serverkey

这里写图片描述

  • 然后我们就可以在bin文件下看到我们刚才导出的tomatocc.cer证书文件了。

这里写图片描述

2)将证书导入到密钥库,一般为导入信任证书(SSL客户端使用,我们这里用不到,可以忽略),我们可以执行如下指令,然后输入密钥库口名再回车即可。

keytool -importcert -keystore client_trust.keystore -file tomatocc.cer -alias client_trust_server -noprompt

这里写图片描述
然后我们就可以在bin文件下看到我们刚才导出的client_trust.keystore密钥文件了。
这里写图片描述

  1. 将.cer格式的证书转换为p12证书

1)现在,我们将我们生成的.cer格式的证书转为换.p12格式的证书。我们执行下面命令,输入目标密钥库口令和源密钥库口令即可。(目标密钥库口令指的是,我们要为.p12证书设置的口令,而源密钥库口令则指的是我们最初为.cer证书设置的密钥库口令)

keytool -importkeystore -srckeystore tomatocc.keystore -destkeystore tomatocc.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -noprompt

这里写图片描述
然后我们就可以在bin文件下看到我们刚才导出的tomatocc.p12证书文件了。
这里写图片描述

到这里为止。我们就完成了一个.p12证书生成的全部流程

欢迎关注本人个人公众号,交流更多技术信息

在这里插入图片描述


http://chatgpt.dhexx.cn/article/G8H8mafV.shtml

相关文章

日志 P11,P12

日志: 复制一个04.内容与03是一样的. 标准日志文件: 在mybatis-config.xml中写入setting设置,配置日志文件(注意setting只能放在properties与typeAliases的中间)。 setting中参数的内容可以在mybatis官方文档查找。…

xcode ios 怎么导入p12证书

注意:在哪台电脑上生成的根证书才能在哪台电脑上导出p12,在另外的电脑上是没有导出p12的选项的(或者是灰的点不了) 1.双击p12文件,将其导入到钥匙串,或者直接把p12文件拖入到钥匙串里 2.如下图,…

iOS证书(.p12)和描述文件(.mobileprovision)申请

原文链接 : iOS证书(.p12)和描述文件(.mobileprovision)申请 如果你从事过iOS开发,大概都会了解到iOS有两种证书和描述文件: 证书类型使用场景开发(Development)证书和描述文件用于开发测试,在 HBuilderX 中打包后可在真机环境调试发布(Dist…

java工具keytool生成p12数字证书文件

最近做毕设的时候需要用到数字证书,于是就用java来生成 Keytool是用于管理和证书的工具,位于%JAVA_HOME%/bin目录** 首选找到keytool.exe 然后在上面的路径显示框中输入CMD,然后回车 进入后输入以下代码 keytool -genkeypair -alias serv…

P12:Sequential的使用

1、CIFAR10 model的结构: 2、定义网络: class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.conv1 Conv2d(3, 32, 5, stride1, padding2)self.maxpool1 MaxPool2d(kernel_size2)self.conv2 Conv2d(32, 32, kernel_size5,…

仅使用p12文件和mobileprovision文件打包

前言:iOS发展到现在,必须使用开发者账号才能运行,打包;但有时候跟别人合作开发,别人不会把开发者账号密码给你,只给了一个P12证书和mobileprovision描述文件(如下图) 我们需要利用这两个文件打包。 1.双击…

P12 JWindow 窗口

P12 JWindow 窗口 1.概述2.JWindow 代码实例3.效果演示4.实现鼠标拖动 JWindow 窗口5.效果演示 系统:Win10 Java:1.8.0_333 IDEA:2020.3.4 Gitee:https://gitee.com/lijinjiang01/JavaSwing 1.概述 JWindow:一个容器&…

p12文件和provision profile文件作用

一:p12 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了 一般在我们的证书界面中应该只有一个开发证书…

职级P1到P12等级体系详解

人力资源管理中,职级是一项非常重要的概念,对于企业的薪资管理、晋升制度以及人才培养都有着至关重要的作用。而职级p1到p12则是常见的职级等级体系。 一、职级的含义 职级是指职位在企业内部的等级,通常是按照工作职责、技能要求、工作经验…

Elasticsearch:使用不同的 CA 更新安全证书 (一)

如果你必须添加组织中的新 CA 证书,或者你需要自己生成新 CA,请使用此新 CA 签署新节点证书并指示你的节点信任新 CA 证书。在今天的展示中,我将来演示如何更新一个 Elasticsearch 8.x 集群的 CA 证书。 Elasticsearch:使用不同的…

四大私募量化策略解析——阿尔法、套利、期货CTA、高频交易

近年来,随着证券市场规模的不断扩大,金融衍生产品不断推出, 投资策略和盈利模式发生根本性改变,投资复杂程度日益提高,导致证券市场投资者的构成比例出现了相应的变化。专业投资管理人的占比越来越大,且有加速之势。另一方面,量化对冲投资策略以其中低风险稳定收益的特性,将成为…

算法交易高频交易

产生背景 这程序化交易、自动化订单生成器和自动化订单路由系统主要被卖方公司用于执行下列业务:委托/自营交易、代理机构/客户的设施以及跨多资产类别。交易策略,包括指数替换、风险修正和期转现的清算等。当期货市场相对于现货市场的定价过高的时候&a…

我是高频交易员

|证券时报记者 沈宁 早上8点30分,维多利亚港畔,香港中环写字楼的玻璃幕墙反射出耀眼的光,一群步履匆匆的金融从业人员开始了新一天的工作。刚到办公室的李兆明(化名),无暇欣赏海景,…

目前国内的高频交易系统的延迟做到了什么水平?

【BruceAshbey的回答(23票)】: 正好昨日,国内CTA这块最强的私募富善投资(Foreseefund,他们家的微信公众号也是这个)发了这样一个PPT,还是很适合大家了解现在这个市场的,经林总同意,我把相关内容…

高频交易是如何发展起来的?

所谓高频交易(High Frequency Trading),简单说就是指利用计算机技术在短时间内快速进行多次买入卖出的交易行为,策略对市场的预测区间一般从几微秒到几分钟。 需要注意,高频交易只是自动化交易的一种形式,…

史上最全“高频交易”揭秘

仅仅就在中国监管层禁止了Citadel在中国的交易账户以及高频交易行为几天之后,美国财政部以及美联储官员不得不承认他们“需要重新考虑如日中天的高频交易是否对市场运作造成损害”。 据华尔街报道,美联储理事Jerome Powell和Antonio Weiss,及…

【AIOQuant量化交易框架】第1讲-高频交易介绍

1.什么是高频交易 一提到高频交易,对于大部人来说,高频交易是比较神秘的。在大部分人的认知里,高频交易有超强的盈利能力,堪比印钞机;纯粹靠交易赚钱,有着神秘的数学模型和尖端科技,精准的预测市…

高频交易的思路模型简介

高频交易凭借其巨大的获利空间,已经席卷了欧美金融市场。根据美国的Alpha杂志,2009年2月的Aite Group报告就已经指出:在美国所有交易所的交易量中,高频交易已经达到60%的份额。 根据媒体报道,光大“乌龙指”事件也是其…

商务礼仪——尊重、适合、适合的尊重

1、关于看人 不要皱眉头 看眼睛三秒,超过可以看鼻梁 不可以往下看,显得有侵略性 不可以往上看,显得不太自信 不可以左右看,显得不太尊重 2、关于手势 食指尽量少用或者不用,不尊重 抱胸有封闭性,手的姿势…