使用STS SDK(Spring Cloud框架)
引入STS SDK
<dependency> <groupId>com.huawei.wisecloud.sts</groupId> <artifactId>sts-spring-boot</artifactId> <version>${sts.version}</version> </dependency>
配置STS
在微服务的ClassPath下增加添加配置文件sts/sts.properties(该文件路径可以通过环境变量sts.properties进行修改),内容为:
sts.server.domain=10.202.251.196:8080 #STS服务器的地址 sts.config.path=/opt/huawei/certs/xxxService/xxxMicroService/xxxMicroService.ini #STS微服务证书路径,基础设施即代码(Infrastructure as Code,简称IaC)会将证书放在固定路径下,格式为/opt/huawei/certs/服务名/微服务名/微服务名.ini
初始化STS
在启动类中增加注解@EnableStsAutoInitialization(value = "sts.properties"),注解的含义是启动STS自动初始化,其中value是指定STS的配置文件路径。
使用注解时,是通过加装Bean的方式初始化STS和解密敏感配置项,由于Bean的加载顺序不固定,有时会出现使用STS解密的代码被加载了,初始化STS的Bean还没有被加载。如果出现这种情况,可以在使用STS的类方法上添加如下方法解决此问题:
@Import(value = {StsEncryptablePropertiesConfiguration.class})