生成密钥对及证书签名申请(certificate signing request,CSR)

生成密钥对

  1. 密钥算法 RSA DSA ECDSA
    对于web服务器,所有人都使用RSA,DSA因为效率问题一般限制在1024位而不安全,ECDSA还没有被大部分CA支持,对于SSH,一般都是使用DSA和RSA
  2. 密钥长度
    默认的密钥长度都不安全,因此配置时需要指定密钥长度,一般认为2048位的RSA是安全的,DSA应不少于2048位,ECDSA应不少于256位
  3. 密码
    建议使用密码保存密钥,被保护的密钥可以被安全存储、传输以及备份。

使用genrsa生成RSA密钥(私钥以PEM格式存储):
openssl genrsa -aes128 -out fd.key 2048
使用-aes128加密保存密钥(也可以使用-aes192或-aes256)

使用genkey生成DSA密钥
openssl dsaparam -genkey 2048 | openssl dsa -out dsa.key -aes128

使用genkey生成ECDSA密钥
openssl ecparam -genkey -name secp256r1 | openssl ec -out ec.key -aes128
对于WEB服务器目前只有两种曲线可以使用(secp256r1和secp384r1)


生成证书签名申请CSR

一旦有了私钥,就可以创建证书签名申请,这是要求CA机构给证书签名的一种正式申请,该申请包含公钥以及一些实体信息。
CSR创建的过程一般是交互式的(也可以使用非交互式创建大量签名申请),需要提供区分证书所需的不同元素,如果想让某元素字段为空,输入.而不是直接回车,如果直接回车,openssl将使用默认值
challenge password(质询密码)是一个可选字段,用于在证书吊销过程中确认申请过该证书的最初实体的身份, 几乎没有CA会依赖这个字段,该密码也不会增强CSR的安全性,因此很多资料建议将此字段置为空

交互式创建证书签名请求:
openssl req -new -key fd.key -out fd.csr
依次输入
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

A challenge password []:
An optional company name []:

非交互式创建证书签名请求:
首先创建一个fd.cnf文件:
touch fd.cnf
编辑fd.cnf,并输入相关参数:
vim fd.cnf
[req]
prompt = no
distinguished_name = dn
req_extensions = ext

[dn]
CN = www.fhzoro.cn
emailAddress = 1132387193@qq.com
L = ShangHai
C = CN

[ext]
subjectAltName = DNS:www.fhzoro.cn,DNS:fhzoro.cn

:wq

使用以下命令直接创建CSR文件:
openssl req -new -config fd.cnf -key fd.key -out fd.csr


使用当前证书生成CSR文件:
如果想更新一张证书,但是不想对里面的信息做任何修改,那么可以使用以下命令使用当前证书直接生成一个全新的CSR文件(建议每次申请新证书的时候都生成一个新的密钥,因为生成新密钥的成本很低,但是可以降低密钥泄露的风险。除非你正在使用公钥钉扎且希望继续使用之前的密钥):
openssl x509 -x509toreq -in fd.crt -out fd.csr -signkey fd.key

生成CSR文件后就可以将其发送给CA机构申请签名,或者自签名,但是在操作前最好使用以下命令检查一遍CSR中字段信息填写无误,可以输入以下的命令:
openssl req -text -in fd.csr -noout

  Previous post 构建openssl
Next post   Prolly everyone gone also

添加新评论

  Timeline:2020-08-02

这个世界精彩的和有趣的事情有很多,只是我们每个人的精力和时间有限

updated on :

  关于博主

如果难过就努力抬头看天空吧,它那么大,一定可以包容一切难过和委屈。

  近期评论

  • 暂无评论

  分类目录