数字证书管理工具 openssl keytool

news/2024/12/16 5:11:16/

 

OPENSSL 命令

openssl command [ command_opts ] [ command_args ]

常用command:

version    用于查看版本信息

enc        用于加解密

ciphers    列出加密套件

genrsa     用于生成私钥

 

-des|-des3|-idea:用来加密私钥文件的三种对称加密算法。

rsa        RSA密钥管理(例如:从私钥中提取公钥,加密私钥,或去除加密)

req        生成证书签名请求(CSR)

crl        证书吊销列表(CRL)管理

ca         CA管理(例如对证书进行签名)

dgst       生成信息摘要

rsautl     用于完成RSA签名、验证、加密和解密功能

passwd     生成散列密码

s_client   通用的SSL/TLS客户端测试工具

X509       X.509证书管理

verify      X.509证书验证

pkcs7       PKCS#7协议数据管理

 

查看证书

openssl x509 -in server.cer -text

查看私钥

openssl rsa -text -noout -in server.key

 

验证server.crt 是否是由该私有CA签发的

openssl verify -CAfile ca.crt server.crt

 

 

openssl s_client 用于建立和测试SSL/TLS连接

参数

-connect host:ip 指定要连接的目标主机和端口

-CAfile 指定CA证书文件名,用于服务器证书的验证

-cert 指定客户端证书文件

-key 指定客户端私钥文件

-showcerts 显示服务器证书链

-debug 显示调试信息,包括SSL握手过程

 

验证服务器证书

openssl s_client -connect ossip:10511 -CAfile trust.cer

显示服务器证书链

openssl s_client -connect ossip:10511 -showcerts

 

[keytool]

keytool为java原生自带,安装java后不需要再进行安装,是jdk提供的密钥和证书管理工具,用于管理自己的公钥/私钥及证书申请,导入,位于JAVA_HOME\bin\keytool.exe。

 

-certreq:生成证书请求(少用)
-changealias:更改条目的别名
-delete:删除条目
-exportcert:导出证书 (jdk1.6之前export)
-genkeypair:生成密钥对(jdk1.6之前genkey)
-genseckey:生成密钥(对称加密)
-gencert:根据证书请求生成证书
-importcert:导入证书或证书链

-importpass:导入口令
-importkeystore:从其他密钥库导入一个或所有条目
-keypasswd:更改条目的密钥口令
-list:列出密钥库中的条目
-printcert:打印证书内容
-printcertreq:打印证书请求的内容
-printcrl:打印 CRL 文件的内容
-storepasswd:更改密钥库的存储口令


1、-genkeypair(生成密钥对/创建数字证书)
选项

    -alias key的别名,每一个key通过alias区分

    -keystore 密钥库名称

    -keyalg 密钥算法名称(RSA)

    -keypass 密钥口令

    -storepass 密钥库口令

 

[KeyStore]

是一个存储库,可用于存储一系列密钥 证书,jdk提供了keytool命令来管理该存储库

java的JAVA_HOME/jre/lib/security/cacerts 是java标准信任库,存储了预信任的证书颁发机构的根证书

cacerts证书库默认密码 changeit

 

列出证书库中所有条目

keytool -list -keystore JAVA_HOME/jre/lib/security/cacerts

生成密钥

keytool -genkey -alias James -keyalg RSA -keystore mystore

导出生成证书

keytool -export -alias james -keystore mystore -file james.cer

将证书导入到java标准信任库cacerts中

keytool -import -alias james -keystore JAVA_HOME/jre/lib/security/cacerts -file james.cer

如果别名已经在cacerts中存在,删除别名

keytool -delete -alias james -keystore cacerts

 

 

 

 


http://www.ppmy.cn/news/1555502.html

相关文章

在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务

文章目录 1. 创建和嵌套组件创建组件嵌套组件 2. 添加标签和样式添加标签添加样式 3. 显示数据显示静态数据显示动态数据 4. 渲染条件和列表条件渲染列表渲染 5. 对事件做出响应并更新界面处理事件 6. 在组件间共享数据使用 Context API react 如何创建和嵌套组件 如何添加标签…

【LC】231. 2 的幂

题目描述: 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出&a…

从2D到3D:解锁视频中的隐形魔法世界

点击访问 chatTools 免费体验GPT最新模型,包括o1推理模型、GPT4o 和Claude等模型! ## 技术革命:普通视频中的惊人秘密 在数字技术日新月异的今天,3D建模和虚拟现实领域一直存在着巨大的挑战。传统的3D数据获取方式不仅耗时耗力&a…

bug之浮点数精度求和计算

bug描述:电商项目多件商品进行结算时,总金额出现微小偏差;如0.10.20.3吗?还有可能展示成0.30000000000000004;bug原因:由于计算过程中使用浮点数运算,计算机只识别二进制,所以先把0.…

智能引导小车充电系统设计(论文+源码)

1总体方案设计 在16*16点阵LED字符显示器的设计中,系统总体框架如图2.4所示,包括单片机主控模复位电路模块、晶振电路模块、按键电路模块、LED点阵驱动电路模块,蓝牙模块等构成。系统功能实现主要是利用系统在软件程序编写过程中&#xff0c…

UE4_贴花_贴花基础知识一

贴花可以将材料和各种材料元素投影到表面上。您可以使用它们来添加独特的效果。贴花 是一种可以投射到网格体(包括静态网格体和骨骼网格体)上的材质。无论这些网格体的移动性(Mobility)是静态(Static)还是可…

数据结构 (37)外排序的基本方法

前言 外排序(External Sorting)是指处理那些无法完全加载到内存中的数据集时所使用的排序方法。由于数据量巨大,无法一次性全部放入内存,因此需要使用外部存储设备(如磁盘)来辅助排序过程。外排序的基本方法…

软包拆垛自动化:深度视觉与智能算法如何重塑行业格局?

在现代工业生产和物流场景中,自动化拆垛已成为提升效率和降低人工操作风险的关键环节。特别是在涉及软包、纸箱、麻包袋等不规则物体的行业,如塑胶粒子、化肥、食品加工等。 软包拆垛的行业挑战 软包、纸箱等不规则物体在堆垛时由于形状不规则、材质多…