spring-boot https证书双向认证配置
warning:
这篇文章距离上次修改已过431天,其中的内容可能已经有所变动。
在Spring Boot中配置HTTPS及双向SSL认证,你需要进行以下步骤:
- 准备服务器证书和私钥。
- 配置
application.properties或application.yml文件,指定证书路径和客户端验证。 - 导入客户端证书到信任库。
以下是配置示例:
application.properties配置:
server.port=8443
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=yourKeystorePassword
server.ssl.key-alias=yourKeyAlias
server.ssl.client-auth=need
server.ssl.trust-store=classpath:truststore.jks
server.ssl.trust-store-password=yourTruststorePassword或者application.yml配置:
server:
port: 8443
ssl:
key-store: classpath:keystore.jks
key-store-password: yourKeystorePassword
key-alias: yourKeyAlias
client-auth: need
trust-store: classpath:truststore.jks
trust-store-password: yourTruststorePassword其中:
server.port是HTTPS服务的端口。server.ssl.key-store是服务器的密钥库文件路径。server.ssl.key-store-password是密钥库的密码。server.ssl.key-alias是密钥库中密钥的别名。server.ssl.client-auth设置为need表示需要客户端证书进行验证。server.ssl.trust-store是客户端证书存储文件路径。server.ssl.trust-store-password是客户端证书存储的密码。
确保keystore.jks和truststore.jks文件位于项目资源路径下,例如src/main/resources。
客户端证书需要导入服务器的信任库中,这样服务器才能验证客户端证书的有效性。导入命令示例:
keytool -import -alias yourClientAlias -file yourClientCert.crt -keystore truststore.jks -storepass yourTruststorePassword确保替换yourClientAlias、yourClientCert.crt和yourTruststorePassword为实际值。
评论已关闭