当前位置: 首页 > news >正文

【项目实战】使用Java Keytool工具生成的CSR给第三方云平台签名

一、背景

客户要求我们提供一个CSR文件,给他们签名,他们的服务器是部署在Amazon上的。

二、Keytool是什么?

Keytool 是一种 Java中的数字证书管理工具,用于管理密钥和证书。
它可以用来生成/申请数字证书、导入证书、导出证书、撤销以及管理密钥库。
它是 Java 开发工具包 (JDK) 的一部分。

Keytool 位于<JAVA_HOME>\bin\keytool.exe
在这里插入图片描述

要获得数字证书,需要使用数字证书管理工具(如KeyTool和OpenSSL)构建

三、 CSR是什么?

Certificate Signing Request,证书请求文件
CSR(Certificate Signing Request,数字证书签发申请)
交由CA机构签发,形成最终的数字证书。

四、使用Keytool 工具生成的CSR和OpenSSL工具生成的CSR区别

4.1 概念区别

Keytool是Java开发工具包中的一种命令行工具,用于管理Java KeyStore(JKS)中的证书。
OpenSSL是一种开源的安全套接字层(SSL)和Transport Layer Security(TLS)协议的工具。

4.2 使用的证书存储库

在生成CSR时,两者的主要区别在于使用的证书存储库不同,
Keytool使用JKS格式的证书存储库,而OpenSSL使用PEM格式的证书存储库。

4.3 命令行和参数

此外,在命令行和参数上也有所不同。

4.3.1 使用OpenSSL工具生成CSR文件

openssl req 
-new  指定生成一个新的CSR
-nodes  指定私钥文件不被加密
-sha256  指定摘要算法
-newkey rsa:2048  rsa:2048 指定私钥类型和长度
-keyout myprivate.key  生成私钥
-out mydomain.csr 最终生成CSR文件mydomain.csr

4.3.2 使用Keytool工具生成CSR文件

在Java中可以使用Java密钥工具(Java Keytool),生成符合X509标准的CSR文件
以下是一个简单的示例命令:
具体步骤如下:
(1) 使用keytool生成私钥
在命令行中运行keytool,并使用-genkeypair选项生成私钥
这个命令会生成一个名为 keystore.jks 的证书文件。

keytool 
-genkeypair 生成密钥对
-keyalg RSA  指定密钥算法
-keysize 2048  指定密钥长度,默认1024位
-sigalg 指定数字签名算法 SHA1WithRSA
-keystore keystore.jks  指定密钥库文件名,指定密钥存储的密钥库
-storepass password  密钥库密码,指定证书保护密码
-validity 365  指定证书有效期,单位是天
-alias myalias  指定证书别名
-dname "CN=burt,OU=yh,O=yh,L=GY,ST=GZ,C=CN"

在这里插入图片描述

(2)使用-certreq选项生成和证书请求文件(CSR文件)

使用命令来生成一个名为mycsr.csr的CSR文件

keytool 
-certreq 
-keyalg RSA 
-storepass password 密钥库密码
-alias myalias  指定了密钥对的名称, 别名
-file mycsr.csr 生成的CSR文件名,指定了输出文件的名称
-keystore keystore.jks  密钥库文件名,指定了存储密钥对的文件的名称

在这里插入图片描述

(3)使用生成的CSR文件

接下来,可以将这个生成的CSR文件
在这里插入图片描述

  • 发给其他人进行签名
  • 或者发送给证书颁发机构(CA)申请数字证书

相关文章:

  • 做短租类型的网站/seo排名赚能赚钱吗
  • 开网站成本/国家市场监管总局官网
  • wordpress github更新/网站推广的具体方案
  • 网站添加视频代码/百度网站的网址是什么
  • 网站建设php培训/郑州网络推广平台
  • 网站关键词怎样优化/杭州百度快照
  • OpenCV(11)-图像的分割与修复
  • CSS造成阻塞的原理
  • Unidbg模拟执行某段子so实操教程(二) LoadSo对比
  • Vue CLI
  • 上海亚商投顾:沪指重返3200点 牛市旗手回归!
  • 2023-1-16 刷题情况
  • OneKeyGhost工具进行备份还原windows操作系统
  • 《如何阅读一本书》读书笔记
  • 系分 - 案例分析 - 数据库设计(基本)
  • 《JavaScript 核心原理解析》学习笔记 Day 1 delete 引用与值
  • 5个关键词回顾2022年个推技术实践
  • Azure Active Directory审核和监控