生成CA证书

生成服务器CA证书

在配置HTTPS监听时,您可以使用自签名的CA证书,并且使用该CA证书为客户端证书签名。

  1. 执行以下命令,在/home目录下新建一个ca文件夹,并在ca文件夹下创建四个子文件夹。
sudo mkdir ca
cd ca
sudo mkdir newcerts private conf server
  • newcerts目录用于存放CA签署过的数字证书。
  • private目录用于存放CA的私钥。
  • conf目录用于存放一些简化参数用的配置文件。
  • server目录存放服务器证书文件。
  • 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 = md5
 unique_subject = no
 policy = policy_any
 [ policy_any ]
 countryName = match
 stateOrProvinceName = match
 organizationName = match
 organizationalUnitName = match
 localityName = optional
 commonName = supplied
 emailAddress = optional
  • 执行以下命令,生成私钥Key文件。

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

    执行结果如下图所示。image

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

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

    image

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

  • 执行以下命令,生成凭证crt文件。

sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
  • 执行以下命令,为CA的Key设置起始序列号,起始序列号可以是四个字符。本示例中设置为FACE。
sudo echo FACE > serial
  • 执行以下命令,创建CA键库。
sudo touch index.txt
  • 执行以下命令,为移除客户端证书创建一个证书撤销列表。
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

这里可能会出现如下报错:

Using configuration from /home/ca/conf/openssl.conf
Can't open /home/ca/index.txt.attr for reading, No such file or directory
140303115944384:error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:72:fopen('/home/ca/index.txt.attr','r')
140303115944384:error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:79:

是openssl一个bug可以在ca目录下,再touch一个index.txt.attr

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e7%94%9f%e6%88%90ca%e8%af%81%e4%b9%a6/

(0)
AuroraAurora站点维系者
上一篇 2023年 4月 26日 下午5:03
下一篇 2023年 6月 7日 上午10:35

相关推荐

Translate »