PyMongo使用入门(七)

TLS/SSL和PyMongo

import ssl

import pymongo
from pprint import pprint

from pymongo import ReadPreference
from pymongo.errors import BulkWriteError
from pymongo import MongoClient

#TLS/SSL and PyMongo
client = pymongo.MongoClient('example.com', ssl=True)
#同上
client = pymongo.MongoClient('mongodb://example.com/?ssl=true')


"""证书验证策略"""

"""缺省情况下,PyMongo被配置为从服务器需要一个证书被启用TLS时。
这是可配置的使用ssl_cert_reqs选项。要禁用这一要求传递ssl.CERT_NONE作为关键字参数:"""

client = pymongo.MongoClient('example.com',
                             ssl=True,
                             ssl_cert_reqs=ssl.CERT_NONE)
#同上
uri = 'mongodb://example.com/?ssl=true&ssl_cert_reqs=CERT_NONE'
client = pymongo.MongoClient(uri)
"""-----------------------------------------------------------------------------"""
"""指定CA文件"""
"""在某些情况下,你可能想PyMongo配置为使用一组特定的CA证书。使用“自签名”服务器证书时,这是最常见的情况。
该ssl_ca_certs选项将到CA文件的路径。它可以作为一个关键字参数传递:"""
client = pymongo.MongoClient('example.com',
                               ssl=True,
                               ssl_ca_certs='/path/to/ca.pem')
"""同上"""
uri = 'mongodb://example.com/?ssl=true&ssl_ca_certs=/path/to/ca.pem'
client = pymongo.MongoClient(uri)
"""-----------------------------------------------------------------------------"""
"""指定的证书吊销列表"""
client = pymongo.MongoClient('example.com',
                              ssl=True,
                              ssl_crlfile='/path/to/crl.pem')

uri = 'mongodb://example.com/?ssl=true&ssl_crlfile=/path/to/crl.pem'
client = pymongo.MongoClient(uri)
"""-----------------------------------------------------------------------------"""
"""客户端证书
PyMongo可以配置为使用ssl_cert_file选项出示客户端证书:
"""
client = pymongo.MongoClient('example.com',
                             ssl=True,
                             ssl_certfile='/path/to/client.pem')

"""如果客户端证书的私钥存储在一个单独的文件中使用ssl_keyfile的选项:"""
client = pymongo.MongoClient('example.com',
                              ssl=True,
                              ssl_certfile='/path/to/client.pem',
                              ssl_keyfile='/path/to/key.pem')

"""Python的2.7.9+(pypy2.5.1+)和3.3+支持提供密码或口令解密加密私钥。使用ssl_pem_passphrase选项"""
"""client = pymongo.MongoClient('example.com',
                              ssl=True,
                              ssl_certfile='/path/to/client.pem',
                              ssl_keyfile='/path/to/key.pem',
                              ssl_pem_passphrase=<passphrase>)"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值