首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis证书安装位置

Redis证书安装位置
EN

Stack Overflow用户
提问于 2020-05-22 04:23:05
回答 1查看 594关注 0票数 1

我有Redis的证书。我在哪里安装这个证书来连接到我的Redis服务器?

我试着把它放到我的java cacerts中,但它不起作用。

这样做的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-02-03 19:37:42

我还一直在尝试将带有Jedis 3.5.0的Java应用程序连接到Redis集群(6.10.0)。

使用SSL的

  1. Build Redis

首先,redis二进制文件必须按照https://redis.io/topics/encryption的要求使用BUILD_TLS=yes标志构建(如果您自己托管)

  1. creating the redis_key_store

必须生成一个redis.crt文件来连接到redis,并生成一个redis-ca.crt文件来验证您的节点/集群的身份。或者,您可以使用./test/tls中的"./runtest --tls“生成的文件。

创建p12密钥库:

代码语言:javascript
复制
openssl pkcs12 -export -in redis.crt -inkey redis.key -out redis_key_store.p12 -passout pass:keystore_pwd

并将生成的redis_key_store.p12保存到安全的地方。

将Redis实例

  1. add到您信任的sources

找到您的trustStore并将redis-ca.crt和redis-ca.key文件复制到它旁边。

将redis-ca添加到trustStore:

代码语言:javascript
复制
keytool -import -file redis-ca.crt -alias redis-ca -keystore truststore.jks -storepass truststore_pwd

对于redis节点/群集,您必须按照更改证书的位置,或将证书的位置添加到redis节点的配置中

https://redis.io/topics/encryption#certificate-configuration

  1. Create一个简单的类来测试connection

然后,我从this page创建了一个类,如步骤3所示

代码语言:javascript
复制
public class SSLTest
{
    private static final String HOSTNAME = "localhost";
    private static final int PORT = 6379;

    public static void main (String[] args) {

        try {
            System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
            System.setProperty("javax.net.ssl.keyStore", "path/to/cert/redis_key_store.p12");
            System.setProperty("javax.net.ssl.keyStorePassword", "keystore_pwd");
            System.setProperty("javax.net.ssl.trustStoreType", "JKS");
            System.setProperty("javax.net.ssl.trustStore", "path/to/cert/truststore.jks");
            System.setProperty("javax.net.ssl.trustStorePassword", "truststore_pwd");

            Jedis jedis = new Jedis(HOSTNAME, PORT, true);
            jedis.connect();
            jedis.auth("redacted");

            System.out.println(jedis.ping());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

==>代码应该打印出"PONG“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61943220

复制
相关文章

相似问题

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