自签名数字证书 (ca证书签名和验签)

常用查询命令

1、查看私钥信息

openssl rsa -in xxx.key -noout -text

2、查看公钥信息

openssl rsa -pubin -in xxx.key -noout -text

3、查看证书请求

openssl req -in xxx.csr -noout -text

4、查看证书信息

openssl x509 -in xxx.crt -noout -text

自签名CA证书及颁发身份证书

1、生成CA的私钥

openssl genrsa -out cakey.pem 2048

2、根据私钥生成自签名CA证书

先使用自己的私钥生成包含自己公钥的csr请求,再使用自己的私钥签名自己的公钥,以下命令将这两步合并成一步执行:

openssl req -new -x509 -key cakey.pem -out cacert.pem -days 365 -subj "/C=CN/ST=JS/L=NJ/O=NT/OU=NT/CN=nothing/emailAddress=nothing@nn.com"

3、生成身份证书的私钥

mkdir -p user_csr

openssl genrsa -out user_csr/user_key.pem 2048

4、根据私钥生成身份证书的csr请求

openssl req -new -key user_csr/user_key.pem -out user_csr/user_cert.csr -subj "/C=CN/ST=JS/L=NJ/O=NT/OU=NT/CN=host1"

5、根据csr请求生成身份证书

mkdir -p private

mv cakey.pem private/cakey.pem

mkdir -p newcerts

touch index.txt

echo 01 > serial

cp /etc/pki/tls/openssl.cnf ./openssl.cnf

vim openssl.cnf(修改文件中的dir的取值为$HOME)

openssl ca -in user_csr/user_cert.csr -config openssl.cnf

如何使用ca证书实现电子签名,自签名https证书

最终的目录结构如下,其中01.pem为根CA签发的身份证书:

如何使用ca证书实现电子签名,自签名https证书

CA证书与身份证书的区别

  • CA证书可以验签身份证书,身份证书无法验签CA证书
  • 证书中x509扩展字段的Basic Constraints,CA证书为TRUE,身份证书为FALSE

如何使用ca证书实现电子签名,自签名https证书