java - gRPC : Generate certificateChainFile and privateKeyFile to make TLS/SSL work

标签 java ssl openssl keytool

我想在客户端和服务器之间建立 tls/ssl 连接(不是相互的,一种方式)。

这是我的设置:

服务器:

    Server server = ServerBuilder.forPort(8443)
        // Enable TLS
        .useTransportSecurity(certChainFile, privateKeyFile)
        .addService(new GreetingServiceImpl())
        .build();

客户端

    // With server authentication SSL/TLS
   ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 8443)
       .build();
   GreetingServiceGrpc.GreetingServiceBlockingStub stub =
            GreetingServiceGrpc.newBlockingStub(channel);

我只需要终端命令来生成certChainFileprivateKeyFile(in .pem)来将这些文件传递给服务器代码,如上所示.

最佳答案

All I need is Terminal commands to generate certChainFile and privateKeyFile

openssl req -x509 -newkey rsa:1024 -keyout ./testkey.pem -out ./testcert.crt -days 999 -subj "/CN=localhost"

此命令生成一个 RSA key 和一个自签名证书。

但您需要的不止于此。

  1. 默认情况下,SSL 检查通用名称 (CN) 是否等于主机名。因此,您需要生成具有 CN=localhost 的证书

  2. 客户端必须信任服务器的证书,因此需要将证书导入到客户端的信任库中(虽然我不确定如何为客户端配置信任库,但我会留给你) .

关于java - gRPC : Generate certificateChainFile and privateKeyFile to make TLS/SSL work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47653799/

相关文章:

java - 不幸的是停止了谷歌地图布局

java - 为 JerseyTest 配置带有 SSL 的 JettyTestContainer

java - iPhone推送证书的问题

python-3.x - 如何创建 Python 安全 websocket 客户端请求?

c - OpenSSL C 程序在 PKCS7_sign 函数上变得无响应

java - 9-patch 图像 : Some file crunching failed, 上的错误,请参阅日志了解详细信息

java - 使用 Java 的 Akka 远程路由

java - Netbeans 有时会停止响应

PHP 不适用于 ssl 连接

使用 harpjs.com 构建静态站点的 SSL 证书,托管在 surge.sh 上