
# 使用STS SDK（Spring Cloud框架）
 #### 引入STS SDK
在pom.xml中添加STS SDK依赖。
- 将${sts.version}替换成实际所使用的STS SDK版本。
- 如果将SDK放到外部maven仓中，则只需要添加sts-spring-boot依赖。
- 如果采用本地依赖的方式引入SDK，即手动将本地下载的SDK jar包引入到工程的lib目录下，还需要添加间接依赖：sts-key-sdk、sts-sdk-base、cloudsoa-security。
```
<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})
