openssl 生成ssl/tls证书
生成根证书
openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pem
生成服务端证书
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.pem -days 3650
mongo服务端证书
openssl ca -days 36500 -in server.csr -out server.crt -cert ca.pem -keyfile ca.key
删掉server.crt中的certificate信息
并证书和私钥成PEM文件 ,构建命令如下:
cat server.key server.crt > mongo-server.pem
生成客户端证书
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 3650 -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem
mongo客户端证书
openssl ca -days 36500 -in client.csr -out client.crt -cert ca.pem -keyfile ca.key
删掉client.crt中的certificate信息
并证书和私钥成PEM文件 ,构建命令如下:
cat client.key client.crt > mongo-server.pem
注意: 生成三个证书时Common Name参数不能一样
出现错误时
出现以下错误时,touch /etc/pki/CA/index.txt is not a directory
执行
vi /etc/pki/CA/index.txt
出现以下错误时,touch /etc/pki/CA/serial is not a directory
执行
touch /etc/pki/CA/serial echo 01 > /etc/pki/CA/serial
出现以下错误时
./demoCA/newcerts is not a directory
./demoCA/newcerts: No such file or directory
mkdir ./demoCA
mkdir ./demoCA/newcerts
创建文件
vi ./demoCA/index.txt
向文件中写入01,并且第二行空一行
vi ./demoCA/serial
参数名 | 名称 |
---|---|
Country Name | 国家名称(2个字符简称)中国为:CN |
State or Province Name | 省会名称全称 |
Locality Name | 城市名称全称 |
Organization Name | 公司名称全称 |
Organizational Unit Name | 部门名称全称 |
Common Name | 连接名称 |
Email Address | 邮箱地址 |
参考文章:
https://blog.csdn.net/HappyLearnerL/article/details/124052816
https://blog.csdn.net/cdnight/article/details/85012612