spring-boot https证书双向认证配置
在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
为实际值。
评论已关闭