首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gocql中的SSL选项

gocql中的SSL选项
EN

Stack Overflow用户
提问于 2016-03-13 21:05:31
回答 1查看 1.1K关注 0票数 2

在我的Cassandra配置中,我启用了用户身份验证,并通过ssl使用cqlsh进行连接。我在实现gocql时遇到了同样的问题,以下是我的代码:

代码语言:javascript
复制
cluster := gocql.NewCluster("127.0.0.1")
cluster.Authenticator = gocql.PasswordAuthenticator{
    Username: "myuser",
    Password: "mypassword",
}
cluster.SslOpts = &gocql.SslOptions {
    CertPath: "/path/to/cert.pem",
}

当我尝试连接时,我得到以下错误:

代码语言:javascript
复制
 gocql: unable to create session: connectionpool: unable to load X509 key pair: open : no such file or directory

在python中,我可以这样做:

代码语言:javascript
复制
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
USER = 'username'
PASS = 'password'
ssl_opts = {'ca_certs': '/path/to/cert.pem',
        'ssl_version': PROTOCOL_TLSv1
}
credentials = PlainTextAuthProvider(username = USER, password = PASS)
# define host, port, cqlsh protocaol version
cluster = Cluster(contact_points= HOST, protocol_version= CQLSH_PROTOCOL_VERSION, auth_provider = credentials, port = CASSANDRA_PORT)

我查看了gocql和TLS文档,herehere,但我不确定如何设置ssl选项。

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 23:09:22

您正在添加一个没有私钥的证书,这就是“没有这样的文件或目录”错误的来源。

您的python代码正在添加一个CA;您应该对Go代码执行相同的操作:

代码语言:javascript
复制
gocql.SslOptions {
    CaPath: "/path/to/cert.pem",
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35970581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档