我们如何使用Java客户端使用安全实现制作Riak KV Cluster

问题描述 投票:0回答:2

任何人都可以告诉我们如何与安全性进行交互,从而使用Java客户端实现Riak KV Cluster。

我尝试用以下java代码与安全启用的riak集群进行交互,但是获取SSLEngine问题,下面是java代码......

InputStream inputStream = null;
    KeyStore ks = null;
    try {
        inputStream = new FileInputStream("/etc/ssl/certs/rootCA.pem");            
        CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
        X509Certificate caCert = (X509Certificate) certFactory.generateCertificate(inputStream);
        inputStream.close();            
        ks = KeyStore.getInstance(KeyStore.getDefaultType());
        ks.load(null, "password".toCharArray());
        ks.setCertificateEntry("cacert", caCert);
    } catch (Exception e) {
        e.printStackTrace();
    }
synchronized (RiakConfig.class) {
    List<RiakNode> riakNodeList = new ArrayList<RiakNode>();
    for (final String riakServer : riakServerArray) {
    RiakNode node = new RiakNode.Builder()
        .withMinConnections(10)
        .withMinConnections(50)
        .withRemoteAddress(riakServer.split(":")[0])
        .withRemotePort(Integer.parseInt(riakServer.split(":")[1]))
        .withAuth("riakuser", "riakuser", ks)
        .build();
    riakNodeList.add(node);
    }   
    cluster = new RiakCluster.Builder(riakNodeList).build();
    cluster.start();
}

建议任何人我们怎么做?

java riak
2个回答
1
投票

得到SSLEngine问题

请始终提供您遇到的具体问题。 “获得SSLEngine问题”是一个无用的信息。

基于this document,您似乎正在使用正确的步骤。如果没有关于您遇到的安全问题的更多信息,则无法提供进一步的帮助。您很可能没有正确设置证书。 RabbitMQ文档包含一个comprehensive TLS/SSL troubleshooting guide,可以帮助您确定您的证书是否正确创建。

此外,我建议您查看Riak Java Client如何设置证书然后使用它们。

这部分Makefile是使用keytool进口证书的地方:

https://github.com/basho/riak-java-client/blob/develop/Makefile#L43-L62

这是一个使用密钥库创建连接以在测试中使用的类:

https://github.com/basho/riak-java-client/blob/develop/src/test/java/com/basho/riak/client/core/operations/itest/RiakJKSConnection.java


0
投票

实际上,这对单节点工作正常,在集群中我面临SSL引擎问题。

© www.soinside.com 2019 - 2024. All rights reserved.