gateway整合https(自定义证书)

本文详细介绍了如何生成、导出和导入SSL证书到JDK,并强调了证书在微服务间调用中确保安全的重要性。当使用Feign进行网关调用时,若未正确配置证书路径和密码,可能会导致`SSLException: Received fatal alert: certificate_unknown`的错误。解决方案是为每个微服务设置证书路径和密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、证书生成、以及导入jdk中
1、生成证书

	keytool -genkey -alias dpcer  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore C:\Users\k03691\keystore.p12 -validity 3650  -ext san=ip:127.0.0.1 -dname "CN=garyyan, OU=mycompany, O=mycompany, L=gd, ST=gd, C=china"

2、证书导出设置别名(123456是步骤1中设置的密码、dpcer是别名自己指定)

keytool -export -keystore C:\Users\k03691\keystore.p12 -alias dpcer -file dpcer.cer -storepass 123456

3、证书导入jdk(默认密码changeit)
如果已存在要先删除(不存在不考虑此命令)

keytool -delete -alias "dpcer" -keystore  "%JAVA_HOME%\jre\lib\security\cacerts"  -storepass changeit
keytool -import -file C://Users//k03691//dpcer.cer  -keystore  "%JAVA_HOME%\jre\lib\security\cacerts" -alias dpcer

4、查看是否导入成功(注意cacerts  jdk中的路径)

	keytool -list -keystore  "%JAVA_HOME%\jre\lib\security\cacerts" -alias dpcer

说明导入成功
在这里插入图片描述

二、网关配置
https://www.cnblogs.com/kjcc/p/14385296.html

三、微服务间调用feign通过网关会进行证书认证报以下错误(原因:微服务没有配置证书路径、密码等)
javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
切记每个微服务都要设置

        System.setProperty("javax.net.ssl.trustStore", "C:\\Users\\k03691\\keystore.p12");
       System.setProperty("javax.net.ssl.trustStorePassword", "123456");

测试:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值