亚马逊云科技

广告

安信SSL证书

广告

Linux生成CA证书的方法和教程

美国云服务器推荐

在构建安全的HTTPS监听环境时,掌握Linux生成CA证书的核心技能至关重要。通过自签名CA证书,管理员不仅能签发受信任的服务器证书,还能严格管控客户端接入权限。本文将基于OpenSSL工具,详细演示从目录规划、配置文件编写到密钥生成的完整流程,并进一步讲解如何利用该CA为客户端证书签名。

一、使用Open SSL生成CA证书

登录到任意一台安装有OpenSSL工具的Linux机器。本文以阿里云Linux 3(点击访问官网)为例,OpenSSL版本为1.1.1k。

1、执行以下命令,在/home目录下新建一个CA目录,并在CA目录下创建四个子目录。

sudo mkdir /home/ca

cd /home/ca

sudo mkdir newcerts private conf server
  • newcerts目录用于存放CA签署过的数字证书。
  • private目录用于存放CA的私钥。
  • conf目录用于存放一些简化参数用的配置文件。
  • server目录存放服务器证书文件。

2、在conf目录下新建一个openssl.conf文件。

vim /home/ca/conf/openssl.conf

openssl.conf文件包含下列信息。

[ ca ]

default_ca = foo

[ foo ]

dir = /home/ca

database = /home/ca/index.txt

new_certs_dir = /home/ca/newcerts

certificate = /home/ca/private/ca.crt

serial = /home/ca/serial

private_key = /home/ca/private/ca.key

RANDFILE = /home/ca/private/.rand

default_days = 365

default_crl_days= 30

default_md = sha256

unique_subject = no

policy = policy_any

[ policy_any ]

countryName = match

stateOrProvinceName = match

organizationName = match

organizationalUnitName = match

localityName = optional

commonName = supplied

emailAddress = optional

3、执行以下命令,生成私钥Key文件。

cd /home/ca

sudo openssl genrsa -out /home/ca/private/ca.key

执行结果如下图所示。

执行结果

4、执行以下命令,按照提示输入所需信息,然后按下回车键生成证书请求CSR文件。

sudo openssl req -new -key /home/ca/private/ca.key -out /home/ca/private/ca.csr

按照提示输入所需信息

Common Name需要输入负载均衡的域名。

5、执行以下命令,生成凭证CRT文件。

sudo openssl x509 -req -days 365 -in /home/ca/private/ca.csr -signkey /home/ca
/private/ca.key -out /home/ca/private/ca.crt

ca.crt文件为用于上传到CLB的CA证书。

6、执行以下命令,为CA的Key设置起始序列号,起始序列号可以是四个字符。本示例中设置为FACE。

echo FACE | sudo tee /home/ca/serial

7、执行以下命令,创建CA键库。

sudo touch /home/ca/index.txt

8、执行以下命令,为移除客户端证书创建一个证书撤销列表。

sudo openssl ca -gencrl -out /home/ca/private/ca.crl -crldays 7 -config "/home/ca/conf/openssl.conf"

输出为:

Using configuration from /home/ca/conf/openssl.conf

二、为客户端证书签名

1、执行以下命令,在CA目录内创建一个存放客户端Key的目录users。

sudo mkdir /home/ca/users/

2、执行以下命令,为客户端创建一个Key。

sudo openssl genrsa -des3 -out /home/ca/users/client.key 2048

:创建Key时要求输入pass phrase,这个是当前Key的口令,以防止本密钥泄漏后被人盗用。两次输入同一个密码。

3、执行以下命令,为客户端Key创建一个证书签名请求CSR文件。

sudo openssl req -new -key /home/ca/users/client.key -out /home/ca/users/client.csr

输入该命令后,根据提示输入STEP 2中输入的pass phrase,然后根据提示输入对应的信息。

:A challenge password是客户端证书口令,注意区分它和client.key。

4、执行以下命令,使用CA证书的Key为客户端Key签名。

sudo openssl ca -in /home/ca/users/client.csr -cert /home/ca/private/ca.crt -keyfile /home/ca/private/ca.key 
-out /home/ca/users/client.crt -config "/home/ca/conf/openssl.conf"

当出现确认是否签名的提示时,两次都输入y。

输入y

5、执行以下命令,转换证书为PKCS12文件。

sudo openssl pkcs12 -export -clcerts -in /home/ca/users/client.crt -inkey /home/ca/users/client.key -out 
/home/ca/users/client.p12

按照提示输入客户端client.key的pass phrase。再输入用于导出证书的密码。这个是客户端证书的保护密码,在安装客户端证书时需要输入这个密码。

6、执行以下命令,查看生成的客户端证书。

cd /home/ca/users

ls

推荐阅读:

白嫖云服务器操作攻略(AWS/Kamatera/阿里云/腾讯云)

阿里云服务器多少钱一年

Linux服务器系统哪个好

Linux服务器与Windows服务器的主要区别

(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

主机侦探企业微信

微信扫码加好友进群

主机优惠码及时掌握

主机侦探QQ群

QQ群号:938255063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。邮箱:2942802716#qq.com(#改为@)

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

RAKsmart美国服务器
下一篇
输入y
已经没有了
返回顶部