如何通过将所有选项放入node.js mongodb驱动程序的连接字符串中来连接X509?
我正在使用中提供的钥匙 对于使用Node.js驱动程序的X509身份验证的自签名证书 尝试连接到数据库时,出现以下错误:如何通过将所有选项放入node.js mongodb驱动程序的连接字符串中来连接X509?,node.js,mongodb,connection-string,x509,adonis.js,Node.js,Mongodb,Connection String,X509,Adonis.js,我正在使用中提供的钥匙 对于使用Node.js驱动程序的X509身份验证的自签名证书 尝试连接到数据库时,出现以下错误: MongoNetworkError:第一次连接时无法连接到服务器[pedro.com:57040][MongoNetworkError:无法验证第一个证书] 尽管有这个错误,我确信连接在我使用studio3t时可以正常工作,并且通过使用相同的证书,一切都可以正常运行 所以我的问题是。。。如何通过在连接字符串中写入所有选项,以编程方式使用x509证书连接到数据库?也许我给的钥匙
MongoNetworkError:第一次连接时无法连接到服务器[pedro.com:57040][MongoNetworkError:无法验证第一个证书]
尽管有这个错误,我确信连接在我使用studio3t时可以正常工作,并且通过使用相同的证书,一切都可以正常运行
所以我的问题是。。。如何通过在连接字符串中写入所有选项,以编程方式使用x509证书连接到数据库?也许我给的钥匙是错的?还是有些人失踪了
db: `mongodb://CN=pedro.com,OU=IT,O=Polygon,L=Setubal,ST=Setubal,C=PT@pedro.com:57040,pedro.com:57041
,pedro.com:57042/testBO?
ssl=true&authMechanism=MONGODB-X509
&sslPEMKeyFile=${fs.readFileSync(
`${Helpers.appRoot(Env.get('DB_SSL_CERT'))}`
)}
&sslCAFile=${fs.readFileSync(
`${Helpers.appRoot(Env.get('DB_SSL_CA'))}`
)}&replicaSet=testReplica`
您需要确保服务器和客户端都可以验证彼此的证书。这两种验证是独立的,使用不同的选项 服务器端请参阅,客户端请参阅。URI选项是跨驱动程序标准化的 另见
sslPEMKeyFile
是一个传统的节点驱动程序选项(假设它有效),tls*选项采用文件路径,而不是文件内容。非常感谢。通过将所有内容切换到tls和其他一些小修补程序,它可以正常工作:)您可以发布关于“小修补程序”的解决方案吗