我正在尝试使用aiogremlin连接到 AWS Neptune,但不断收到 SSL 证书错误。我尝试使用从Amazon Trust Repository下载的 3 个不同的证书,但它们都不起作用。随着AmazonRootCA1.pem
和SFSRootCAG2.pem
我不断得到File Not Found error
和SFSRootCAG2.cer
我得到ssl_context.load_cert_chain(ssl.SSLError: [SSL] PEM lib (_ssl.c:4046)
。
这是我用来与 Neptune 交互的片段。
import asyncio
from aiogremlin import DriverRemoteConnection, Graph
from .constants import NEPTUNE_ENDPOINT, CERT_DIR
async def go():
remote_connection = await DriverRemoteConnection.open(f'https://{NEPTUNE_ENDPOINT}:8182/gremlin', 'g',
ssl_certfile=CERT_DIR+'SFSRootCAG2.cer')
g = Graph().traversal().withRemote(remote_connection)
vertices = await g.V().toList()
await remote_connection.close()
return vertices
print(asyncio.get_event_loop().run_until_complete(go()))
无法确定我是否使用了错误的证书文件或做其他错误的事情。