我正在尝试使用PyMongo创建一个到MongoDB的安全SSL连接.目标是将此配置用于在EC2上运行的Mongo实例,我可以将其与Python客户端连接.为了测试,我只是想让配置首先在本地工作.我的失败尝试可以在这里找到.
我认为是问题的简短版本:我的客户端证书颁发机构文件ca.pem不正确.我拥有它的方式,这个文件实际上与我使用服务器端的文件相同.两者都是使用x509with 创建的openssl,我怀疑我的客户端文件需要某种不同的内容,但我不确定如何生成该内容或者这种怀疑是否正确.
以下是我为创建必要的证书和密钥所做的详细信息(在Mac El Capitan上):
首先,生成证书颁发机构:
$ mkdir ~/ssl
$ cd ~/ssl
$ openssl req -out ca.pem -new -x509 -days 3650
# enter info
Run Code Online (Sandbox Code Playgroud)
生成服务器.pem文件:
$ openssl genrsa -out server.key 2048
$ openssl req -key server.key -new -out server.req
# enter info
$ openssl x509 -req -in server.req -CA ca.pem -CAkey privkey.pem -CAserial file.srl -out server.crt -days 3650
$ cat server.key server.crt > server.pem
Run Code Online (Sandbox Code Playgroud)
现在为客户做同样的事情:
$ openssl genrsa -out …Run Code Online (Sandbox Code Playgroud)