【产品技术】如何通过OpenSSL、Keytool生成CSR文件

举报
懒宅君 发表于 2020/06/29 16:59:17 2020/06/29
【摘要】 在申请证书之前,必须生成证书私钥和证书请求文件(Cerificate Signing Request,简称CSR)。CSR文件是公钥证书原始文件,包含了我们的服务器信息和单位信息,需要提交给CA认证中心进行审核。此处是小贴士:建议使用系统提供的系统创建CSR功能,避免出现内容不正确而导致的审核失败。手动生成CSR文件的同时会生成私钥文件,注意务必妥善保管和备份私钥。使用OpenSSL工具生成...

在申请证书之前,必须生成证书私钥和证书请求文件(Cerificate Signing Request,简称CSR)。CSR文件是公钥证书原始文件,包含了我们的服务器信息和单位信息,需要提交给CA认证中心进行审核。


此处是小贴士:

  • 建议使用系统提供的系统创建CSR功能,避免出现内容不正确而导致的审核失败。

  • 手动生成CSR文件的同时会生成私钥文件,注意务必妥善保管和备份私钥。


使用OpenSSL工具生成CSR文件

1.  安装OpenSSL工具。

2.  执行以下命令生成CSR文件。

openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr

o   -new:指定生成一个新的CSR。

o   -nodes:指定私钥文件不被加密。

o   -sha256:指定摘要算法。

o   -newkey rsa:2048:指定私钥类型和长度。

o   -keyout:生成私钥文件,名称可自定义

o   -out:生成CSR文件,名称可自定义

3.  生成CSR文件“mydomain.csr”。

image.png

需要输入的信息说明如下:

字段

说明

示例

Country Name

申请单位所属国家,只能是两个字母的国家码。例如,中国只能是CN。

CN

State or Province Name

申请单位所在省名或州名,可以是中文或英文。

ZheJiang

Locality Name

申请单位所在城市名,可以是中文或英文。

HangZhou

Organization Name

申请单位名称法定名称,可以是中文或英文。

HangZhou xxx Technologies, Inc.

Organizational Unit Name

申请单位的所在部门,可以是中文或英文。

IT Dept.

Common Name

申请证书的具体网站域名或IP地址。

www.example.com

Email Address

申请单位的邮箱。

无需输入,请直接按“Enter”。

-

A challenge password

设置CSR文件密码。

无需输入,请直接按“Enter”。

-


o   在使用OpenSSL工具生成中文证书时,需要注意中文编码格式必须使用UTF8编码格式。同时,需要在编译OpenSSL工具时指定支持UTF8编码格式。

o   证书服务系统对CSR文件的密钥长度有严格要求,密钥长度必须是2,048位,密钥类型必须为RSA

完成命令提示的输入后,会在当前目录下生成myprivate.key(私钥文件)和mydomain.csr(CSR,证书请求文件)两个文件。

使用Keytool工具生成CSR文件

1.  安装Keytool工具,Keytool工具一般包含在Java Development Kit(JDK)工具包中。

2.  使用Keytool工具生成keystore证书文件。


Keystore证书文件中包含密钥

1.  执行以下命令生成keystore证书文件。

keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks

§  -keyalg:指定密钥类型,必须是RSA。

§  -keysize:指定密钥长度为2,048。

§  -alias:指定证书别名,可自定义。

§  -keystore:指定证书文件保存路径,证书文件名称可自定义。

image.png

2.  输入证书保护密码,然后根据下表依次输入所需信息:

问题

说明

示例

What is your first and last name?

申请证书的域名或IP地址。

www.example.com

What is the name of your organizational unit?

申请单位的所在部门名称。

IT Dept

What is the name of your organization?

申请单位的所在公司名称。

HangZhou xxx Technologies,Ltd

What is the name of your City or Locality?

申请单位的所在城市。

HangZhou

What is the name of your State or Province?

申请单位的所在省份。

ZheJiang

What is the two-letter country code for this unit?

申请单位所属国家,ISO国家代码(两位字符)。

CN

3.  输入完成后,确认输入内容是否正确,输入Y表示正确。

4.  根据提示输入密钥密码。可以与证书密码一致,一致则直接按回车键

5. 通过证书文件生成证书请求。

6. 执行以下命令生成CSR文件。

keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr

§  -sigalg:指定摘要算法,使用SHA256withRSA。

§  -alias:指定别名,必须与 -alias:指定证书别名,可自定义。keystore文件中的证书别名一致。

§  -keystore:指定证书文件。

§  -file:指定证书请求文件(CSR),名称可自定义。

7.  根据提示输入证书密码即可以生成“mydomain.csr”。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。