本文最后更新于 1038 天前,其中的信息可能已经有所发展或是发生改变。
最近使用frp,为了frps与frpc的双向验证,需要自签证书
需要使用openssl工具包来生成自签名证书。验证是否有openssl
$ openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
流程
- 生成
ca
证书 - 生成
frp
证书的私钥,得到csr
文件 - 使用第一步的
ca
证书对第二步的csr
签名,得到证书
生成ca证书
生成CA认证机构的证书密钥key
openssl genrsa -out ca.key 2048
如果私钥想要设置密码,添加
-des3
参数用私钥ca.key生成CA认证机构的证书ca.crt
openssl req -new -x509 -key ca.key -out ca.crt -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=CodeTech Inc/OU=codetech.org/CN=CodeTech Root CA/emailAddress=admin@codetech.org"
subj字段含义
C=-国家/地区名称。 ISO的两个字母缩写。
ST= -州或省名。
L= -地区名称。您所在的城市的名称。
O= -您组织的全名。
OU= -组织单位。
CN= -完全限定的域名。
ST= -州或省名。
L= -地区名称。您所在的城市的名称。
O= -您组织的全名。
OU= -组织单位。
CN= -完全限定的域名。
至此,我们得到了ca
证书,ca.crt
生成frp证书
同样的方法生成私钥
openssl genrsa -out frp.key 2048
生成csr文件
openssl req -new -key frp.key -out frp.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=CodeTech Inc/OU=codetech.org/CN=frp.codetech.top/emailAddress=admin@codetech.org"
csr
: 证书认证签名请求(Certificate signing request) ,如果找外面的CA机构认证,也是发个请求文件给他们使用ca.crt
对frp.csr
签名
openssl x509 -req -in frp.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out frp.crt -days 365
最终得到了我们需要的证书frp.crt
参考资料: