使用OpenSSL生成PKCS#12格式的证书和私钥
要使用OpenSSL生成PKCS12格式的证书和私钥,可以按照以下步骤进行操作:
1. 安装OpenSSL
首先,确保已在计算机上安装了OpenSSL。可以从OpenSSL官方网站(https://www.openssl.org/)下载并安装适用于您的操作系统的版本。这里简单总结下在 Windows 上安装 OpenSSL 步骤。
1.1 下载 OpenSSL
从 OpenSSL 官方网站(https://www.openssl.org/)下载最新版本的 OpenSSL。
1.2 安装 OpenSSL
运行下载的 OpenSSL 安装程序,并按照提示进行操作。在默认情况下,OpenSSL 将安装在 `C:\Program Files\OpenSSL` 目录下。
1.3 配置系统环境变量
在 Windows 操作系统中,需要将 OpenSSL 的路径添加到系统的环境变量中,以便能够从任何位置执行 OpenSSL 命令。请按照以下步骤进行操作:
a. 右键单击“计算机”或“我的电脑”,然后选择“属性”。
b. 点击“高级系统设置”,在弹出的对话框中选择“环境变量”。
c. 在“系统变量”下找到“Path”变量并双击编辑。
d. 在变量值的末尾输入 OpenSSL 的安装路径,例如 `;C:\Program Files\OpenSSL\bin`(请注意分号和路径中的空格)。然后点击“确定”。
1.4 验证安装
打开命令提示符并运行以下命令来验证是否成功安装了 OpenSSL:
openssl version
如果看到输出的 OpenSSL 版本号,则说明 OpenSSL 已成功安装并配置。
2. 生成私钥
打开终端或命令提示符,并运行以下命令来生成私钥文件:
openssl genpkey -algorithm RSA -out private.key
这将生成一个名为private.key的私钥文件。
3. 生成证书签名请求(CSR)
使用生成的私钥,运行以下命令生成CSR文件:
openssl req -new -key private.key -out csr.csr
这里将需要提供一些与证书相关的信息,例如组织名称、通用名称等。根据提示输入所需信息。
4. 自签名证书
如果您想生成自签名证书,可以使用以下命令生成证书:
openssl x509 -req -days 3650 -in csr.csr -signkey private.key -out certificate.crt
这将生成一个名为certificate.crt的自签名证书文件,并且该证书将在3650天后过期。您可以根据需要调整有效期限。
5. 生成PKCS12文件
现在,使用以下命令将私钥和证书合并到PKCS12文件中。这里有两种方式设置口令:
5.1 自定义口令方式
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
您将被要求设置一个密码以保护PKCS12文件。
5.2 强制口令方式
强制设置密码长度不是一个好的做法,因为这降低了密码的安全性。如果您坚持要设置8个1作为密码,可以使用以下命令:
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt -passout pass:11111111
该命令将从名为 `private.key` 的私钥文件和名为 `certificate.crt` 的证书文件中生成一个 `.p12` 文件,并设置密码为八个数字 1。
请注意,强制要求密码长度为 8 位数字并不是一种好的做法,因为这使得密码更容易被猜测或破解。建议您使用更长、更复杂的密码,并遵循最佳实践以确保密码的安全性。
6.使用 OpenSSL 查看 .p12
文件的内容
使用 OpenSSL 工具来查看 .p12 文件的内容。按以下步骤进行操作:
- 打开终端或命令提示符,并导航到包含.p12文件的目录。
- 运行以下命令来查看 .p12 文件的内容:
openssl pkcs12 -info -in certificate.p12
此命令将显示 .p12文件中包含的证书和私钥的详细信息,例如颁发机构、有效期限等。
查看刚才产生的certificate.p12文件内容如下:
E:\RJ\openssl\installed\OpenSSL-Win64\bin>
E:\RJ\openssl\installed\OpenSSL-Win64\bin>openssl pkcs12 -info -in certificate.p12
Enter Import Password:
MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
Bag AttributeslocalKeyID: AF C4 DE AF A0 97 88 29 AB 3E 45 B2 AE 50 E5 85 47 E7 27 77
subject=C = CN, ST = SC, L = CD, O = CETCCST, OU = CETCCST, CN = CETCCST
issuer=C = CN, ST = SC, L = CD, O = CETCCST, OU = CETCCST, CN = CETCCST
-----BEGIN CERTIFICATE-----
MIIDQTCCAikCFCbkxe+aDst30+2ajis12WN5oq3oMA0GCSqGSIb3DQEBCwUAMF0x
CzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTQzELMAkGA1UEBwwCQ0QxEDAOBgNVBAoM
B0NFVENDU1QxEDAOBgNVBAsMB0NFVENDU1QxEDAOBgNVBAMMB0NFVENDU1QwHhcN
MjMxMjE3MDUzNzM3WhcNMjQxMjE2MDUzNzM3WjBdMQswCQYDVQQGEwJDTjELMAkG
A1UECAwCU0MxCzAJBgNVBAcMAkNEMRAwDgYDVQQKDAdDRVRDQ1NUMRAwDgYDVQQL
DAdDRVRDQ1NUMRAwDgYDVQQDDAdDRVRDQ1NUMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEApCugCrfRarsT6hVxQiBGdFokur5VOVPyy9Hvfp4AM7SGZnHL
d38IByXWzSqgqbrD+hamKEY77X33/oWueSFB7tFd5Vxspydv6dfCqxRVTp35AyNj
0dzmitjcazNRphqeM/XAqTot95p6fJpykdHWT0v1ekYZyH58ilhxLM+Y24FILVAs
NCsOsSwXIpNzPOwJfIyE2tGGPE4RXVpaysRiPYx9LzwzHwpA6o7AZfl20w1IPNTy
6Ov+spOcDnq5/wmIBcfKxyiQNUM68Sni9FtC/5UjmigsnHDCj3dZKsPQgGf1DYBZ
TiV5DwOpuQA7q3+hUwMaCRZqZG4NDN+27ok9SwIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQAsfajDkA5maKJZxW/Gl3hL0gIij6j346lf9RWJMnUX6SDc0mtpg033CzPN
Y3H4Is1VQ7vBMWVZqCQmfQgdmL9UTl8oGprsi3srhjRRWqxslivX+5bAa7f/lIcR
qk8N42CXJ6w+IkyHKArBEG21iz/nLbb2OVcvPu3tVO/I0GLjVjdwr0FJ6GnBH+vv
0QhjKZLR8zCAKhbplqX0pWIMuZdsrekoU/lRTVwGvB0G3oK3HW9EXMmUDiHcPPhC
W16/0zsIHwRfRm6GjuiTHXZxamX9Nnbw5G3BETjdKJdvXwcDl+veZUzl1pOAnutG
VipTLXifLFCD7lADMyIxQV7xcPiX
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Bag AttributeslocalKeyID: AF C4 DE AF A0 97 88 29 AB 3E 45 B2 AE 50 E5 85 47 E7 27 77
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIXS7Sp38x+fECAggA
MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBAX7BUqc2Kea7pInSH0lXkSBIIE
0J3i5GBSxn6QAhfWcaJJjTL/YBVPT5Cc4WpLWXwsKK5DDTeVFbt4DcEqAvcNPf0k
0KdSUvCWrWH28JKJ0r5TEnwAUiXbjfK6Kd5dBV25lN43/3ZaAWs/aP/y909bvCja
xQtdpSyF6IyajgFCnolqed6PCoY3fT/CzFzgFxiFNDyjaI8ZLYz7Oe3ihuTqfJwD
a/B+7y/KEf3EKpaEwpNRk2aju7ucs9jZB870XzLgmHB3ABsGLD1q10W5wGDyvQPk
D+0QSAN587BuyG6L4uUVPiKBIK+BIYVWCjHF97stCNBa+obCwktZpfeZvwNkLsiH
mY57y4Tkuu6Kqacdfe5qKCQdYF6illp5UtNx5JODB9T4iSxqKMsGErW04i/SXs9r
RyOZpZB824SD4WpOXFoo1lwU0M8rYbWhnH393CRp9ffjhPk5iK+qvLAuDgMiTRhf
0ophKnMbpqKmtyEfsZ+XVta8+W3pSdtzw71Am8dadtlzAo8J60IWwZdEWrJ82tIk
BRl2Lrt3hKfyuTkhMW69q4790hg5gHL4iBy+A3fatJizUFgd+V/fp3Pe6rq22ReB
Y+S4d9RKgEiKlZzPZiuUXr2pMVHVLo3jNDORckv7Ec/VlSpKbbUDDrNo/EtUf9+r
y3wxnymV3RPtmCeIHpKDJg2NXTlRcYdn+01WPc8AOPZ7r46ehQ49EEiOGqX09rDO
SlX3e4UNbte1x/bR6GWJ+EwjWpo4AcLJ5O28jJXUP1ZFpNrdddobRES7QaHIGity
+QYb+aet0D5Cpx+Ygq9+RumEG+j3dd9CrK+r7lMUhejAFYms1NSDXL5g0jjflutM
McWZVMqR+179+PeDl+ykLeVa08zVqIBwn3L16Jpjx/fjsGkPr+rWmpHvMdT6r5lI
IKJhOgqFpF3NMoq2GTXwzrPMxruwXszkUB1NfSJluuG1imNk6hL4IwEpzKN+lcZ2
tDkyc/IGPG9o0O08qgjuQHAoNvK70kRCCqzy9OF8HnKe63n0aX0In0FVGGTIchjm
89/MsGVTKihK+rOyDgCWYhWil9fNhuHt+qdNPXMTvuNkqdDe2XulnN9xkQ8UCXlv
T8GnaBv0GkspgNXABFQ7cvDSSAmrtr+9QvGuEgUOSVvSk8+n5eMOdfD/M4916ezw
Wpo01kgHjptPjpZWveS2spB7VQiNGIEbhU2msmk8ZbQ/F0olzJ/KMWoUgZfl+RLA
5yTlWTEW+dobliWcHLJX/TAyeBICzLU5mPRyE0b3btim9vHVFreC4TWS+sfHiocC
uNvPX0J7XAYvQY188Oq/EbPp8CSRB2Yu0LBS4ilVyooY8tdzVJ2d6aroA4YVSkMe
vM/RZnoLGsezkW+16mP1+TmHAWEk0gLc9BzToHRHI9WJJmv7D+p5XunaeSRSqYro
j8fQK0TrDSvfgHP5Asc1tziRRAUQ1cy9sQV1DUlPGzvRbpQD7RmNJ/yfUt94K2+X
6Vbo9Vgt/iTO9+pjzNRW05HwpkjPajBWNkbze95vSPVFIVhxrtS3tQlEyD26JHw3
6XJvtnOJaRTODUWloIsE7zhDxKk2YhqnlSqfIYzkA3fTGa6lgvIoDyuSv0Ln1g5C
uVwIOK+aag8w5nArZx6vGWulYwILVWEGT40u+GPedWs8
-----END ENCRYPTED PRIVATE KEY-----E:\RJ\openssl\installed\OpenSSL-Win64\bin>
- 也可以通过运行以下命令来检查 .p12 文件的密码是否正确:
openssl pkcs12 -nokeys -info -in certificate.p12
此命令将只显示证书的详细信息,而不会显示私钥信息。
注意:在运行这些命令之前,需要确保已安装 OpenSSL 工具。
7. 结束
现在,已经生成了一个名为certificate.p12的PKCS12文件,其中包含证书和私钥。
注意:
以上步骤仅提供了一个基本的示例。我们可以根据需要进行更多的配置和调整。此外,如果您具有可用的CA证书和私钥,可以使用类似的命令生成PKCS12文件。确保妥善保管和保护您的私钥和证书。
————————————————————
DONE
相关文章:
使用OpenSSL生成PKCS#12格式的证书和私钥
要使用OpenSSL生成PKCS12格式的证书和私钥,可以按照以下步骤进行操作: 1. 安装OpenSSL 首先,确保已在计算机上安装了OpenSSL。可以从OpenSSL官方网站(https://www.openssl.org/)下载并安装适用于您的操作系统的版本。…...
超详细 | 哈里斯鹰优化算法原理、实现及其改进与利用(Matlab/Python)
测试函数为F9 在MATLAB中执行程序结果如下: 在Python中执行程序结果如下: 哈里斯鹰优化算法(Harris Hawks Optimization , HHO)是 Heidari等[1]于2019年提出的一种新型元启发式算法,设计灵感来源于哈里斯鹰在捕食猎物过程中的合作行为以及突…...
git 切换远程地址分支 推送到指定地址分支 版本回退
切换远程地址 1、切换远程仓库地址: 方式一:修改远程仓库地址 【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。 git remote set-url https://gitee.com/xxss/omj_gateway.git 方式二:先删除远程仓库地址&…...
YOLOv3-YOLOv8的一些总结
0 写在前面 这个文档主要总结YOLO系列的创新点,以YOLOv3为baseline。参考(抄)了不少博客,就自己看看吧。有些模型的trick不感兴趣就没写进来,核心的都写了。 YOLO系列的网络都由四个部分组成:Input、Backbone、Neck、Prediction…...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)控件的部分公共属性和事件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)控件的部分公共属性和事件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、公共属性 常用的公共属性有: 宽(with)、高(height)、…...
最新同步云盘推荐:实现轻松管理与便捷同步的理想选择
同步云盘——可以轻松管理文件,同步不同设备之间的文件,受到了许多用户的青睐!目前国内有什么值得推荐的同步云盘? Zoho Workdrive同步云盘,助您轻松管理文件,进行多设备同步,便捷使用文件&…...
(第27天)Oracle 数据泵转换分区表
在Oracle数据库中,分区表的使用是很常见的,使用数据泵也可以进行普通表到分区表的转换,虽然实际场景应用的不多。 创建测试表 sys@ORADB 2022-10-13 11:54:12> create table lucifer.tabs as select * from dba_objects;Table created.sys...
业务上需要顺序消费,怎么保证时序性?
消息传输和消费的有序性,是消息队列应用中一个非常重要的问题,在分布式系统中,很多业务场景都需要考虑消息投递的时序。例如,电商中的订单状态流转、数据库的 binlog 分发,都会对业务的有序性有要求。今天我们一起来看…...
ubuntu 开机提示 you are in emergency mode,journalctl -xb
进入系统界面 回车输入: journalctl -xb -p3 查看出问题的盘符类型。 然后 lsblk 查看挂载情况 我的是/dev/sda3没有挂载上,对应/home目录,注意这时候不要直接mount 需要先修复 fsck -y /dev/sda3等待修复完成,在重新挂载 moun…...
【Hadoop面试】HDFS读写流程
HDFS(Hadoop Distributed File System)是GFS的开源实现。 HDFS架构 HDFS是一个典型的主/备(Master/Slave)架构的分布式系统,由一个名字节点Namenode(Master) 多个数据节点Datanode(Slave)组成。其中Namenode提供元数…...
B01、JVM与Java体系结构-01
字节码与多语言混合编程 字节码概述: 我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统称为:jvm字节码。不同的编译器,可以编译出相同的字节码文件&…...
Python:Jupyter
Jupyter是一个开源的交互式计算环境,由Fernando Perez和Brian Granger于2014年创立。它提供了一种方便的方式来展示、共享和探索数据,并且可以与多种编程语言和数据格式进行交互。Jupyter的历史可以追溯到2001年,当时Fernando Perez正在使用P…...
macos苹果电脑开启tftp server上传fortigate60e固件成功
cat /System/Library/LaunchDaemons/tftp.plist<?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist…...
如何使用ArcGIS Pro裁剪影像
对影像进行裁剪是一项比较常规的操作,因为到手的影像可能是多种范围,需要根据自己需求进行裁剪,这里为大家介绍一下ArcGIS Pro中裁剪的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的影像和行政区…...
Tekton 构建容器镜像
Tekton 构建容器镜像 介绍如何使用 Tektonhub 官方 kaniko task 构建docker镜像,并推送到远程dockerhub镜像仓库。 kaniko task yaml文件下载地址:https://hub.tekton.dev/tekton/task/kaniko 查看kaniko task yaml内容: 点击Install&…...
netty-daxin-4(httpwebsocket)
文章目录 学习链接http服务端NettyHttpServerHelloWorldServerHandler 客户端ApiPost websocket初步了解为什么需要 WebSocket简介 浏览器的WebSocket客户端客户端的简单示例客户端的 APIWebSocket 构造函数webSocket.readyStatewebSocket.onopenwebSocket.onclosewebSocket.ο…...
文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《市场环境下考虑全周期经济效益的工业园区共享储能优化配置》
这个标题涉及到工业园区中共享储能系统的优化配置,考虑了市场环境和全周期经济效益。以下是对标题中各个要素的解读: 市场环境下: 指的是工业园区所处的商业和经济背景。这可能包括市场竞争状况、电力市场价格波动、政策法规等因素。在这一环…...
WPF——命令commond的实现方法
命令commond的实现方法 属性通知的方式 鼠标监听绑定事件 行为:可以传递界面控件的参数 第一种: 第二种: 附加属性 propa:附加属性快捷方式...
信息收集 - 域名
1、Whois查询: Whois 是一个用来查询域名是否已经被注册以及相关详细信息的数据库(如:域名所有人、域名注册商、域名注册日期和过期日期等)。通过访问 Whois 服务器,你可以查询域名的归属者联系方式和注册时间。 你可以在 域名Whois查询 - 站长之家 上进行在线查询。 2、…...
基于YOLOv8深度学习的路面标志线检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
leetCode算法—1.两数之和
难度:* 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你…...
oracle 设置访问白名单
有相关安全策略会要求部分 ip 禁止访问oracle数据库,那么如何实现对IP的白名单设置呢?又如何细分到对用户的限制访问呢?本文将介绍方法给大伙。 1、禁止IP访问数据库(修改sqlnet.ora方式实现) vi $ORACLE_HOME/network…...
Flink系列之:窗口关联
Flink系列之:窗口关联 一、窗口关联二、INNER/LEFT/RIGHT/FULL OUTER三、SEMI四、ANTI五、限制 一、窗口关联 适用于流、批窗口关联就是增加时间维度到关联条件中。在此过程中,窗口关联将两个流中在同一窗口且符合 join 条件的元素 join 起来。窗口关联…...
Eolink 两项产品入选 2023 年广东省名优高新技术产品名录!
近日,2023 年广东省名优高新技术产品正式名单已经发布,Eolink 旗下两项产品荣幸入选! “广东省名优高新技术产品”是广东省对高新技术产品领域的升级和优化的重要措施。名优产品的评选不仅强调了技术的先进性,更对产品的质量、市…...
054:vue工具 --- BASE64加密解密互相转换
第054个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…...
自动驾驶学习笔记(二十)——Planning算法
#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 参考线平滑 双层状态机 EM Planner …...
adb的使用
Adb windows 环境搭建 (1)将adb包安装或者解压到一个路径,并拿到adb.exe所在的路径值,例如,D:\Tools\adb (2)将路径值放进windows环境变量 我的电脑(此电脑图标)右键–》 选择“属…...
会旋转的树,你见过吗?
🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…...
Azure Machine Learning - 提示工程简介
OpenAI的GPT-3、GPT-3.5和GPT-4模型基于用户输入的文本提示工作。有效的提示构造是使用这些模型的关键技能,涉及到配置模型权重以执行特定任务。这不仅是技术操作,更像是一种艺术,需要经验和直觉。本文旨在介绍适用于所有GPT模型的提示概念和…...
服务器的安全包括哪些方面?服务器安全该如何去加固处理?
服务器安全包括如下几个方面: 系统安全:包括操作系统的安全性、系统的漏洞和补丁管理、用户管理、文件权限和访问控制等。 网络安全:包括网络拓扑结构、网络设备的安全性、网络协议的安全性、防火墙和入侵检测等。 数据安全:包括数…...
济南建设主管部门网站/宁波网站快速优化
近日,IBM宣布筹建中的认知计算系统研究中心(C3SR)将安家于美国伊利诺伊大学厄巴纳分校的工程学院。 C3SR计划在今年夏季正式启动,将构建以IBM Watson技术为基础的综合认知计算系统,对包括视频、讲稿、作业和教材等大量…...
专门做企业名录的网站/西安优化排名推广
原标题:Unity编辑器中使用GitHub管理项目Git作为代码协作工具已帮助了成千上万的开发者,但对于游戏开发来说还是稍有不便。最近GitHub官方推出了GitHub for Unity扩展工具,该工具对程序员及设计师均适用,Unity游戏开发者可以更好地…...
查网站排名/淘宝优化关键词的步骤
在介绍USB的驱动开发时,我通常会用用Linux的的USB网络来演示,它兼容RNDIS网络,一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端,Host端的也可以由…...
蓬莱网站建设联系电话/台湾新闻最新消息今天
HTML其常用标签及属性有: 1、 常见的块级标签: ①<h1></h1>......<h6><h6>:标题标签,自动加粗,h1最大,h6最小。 ②<hr/>:水平线标签,添加一条水平…...
做设计太依赖网站素材/网络媒体发稿
概述在实际的业务场景应用中,我们经常要根据业务条件获取并筛选出我们的目标数据。这个过程我们称之为数据查询的过滤。而过滤过程使用的各种条件(比如日期时间、用户、状态)是我们获取精准数据的必要步骤,这样才能得到我们期望的结果。所以本章我们来学…...
线上报名小程序怎么做/湖南seo优化价格
https://blog.csdn.net/bazhidao0031/article/details/81450815 转载于:https://www.cnblogs.com/guochen/p/10340837.html...