生成证书
-
生成CA自签名证书:https://cookcode.cc/selfsign。得到
ca.key
和ca.crt
文件
-
服务端证书签名
-
生成服务端
server.key
,通过server.key
生成证书请求server.csr
文件。此步骤通过https://cookcode.cc/csr得到文件
-
通过
ca.key
、ca.crt
、server.csr
生成server.crt
。此步骤通过https://cookcode.cc/sign生成
-
-
客户端证书签名:步骤与服务端一样
- 生成客户端的
client.key
,通过client.key
生成证书请求client.csr
文件.此步骤通过https://cookcode.cc/csr得到文件 - 通过
ca.key
、ca.crt
、client.csr
生成client.crt
。此步骤通过https://cookcode.cc/sign生成
- 生成客户端的
案例
-
将相关的文件放入resources的ca目录下
-
服务端代码
@Slf4j public class GrpcSslProvider { public static void main(String[] args) throws Exception { int port = 8443; ServerBuilder<?> serverBuilder = NettyServerBuilder .forPort(port) .sslContext(getSslContextBuilder().build()) .addService(new HelloServiceImpl()); Server server = serverBuilder.build(); Runtime.getRuntime().addShutdownHook(new