Spring Boot 接入 KMS 托管中间件密码&第三方接口密钥
warning:
这篇文章距离上次修改已过199天,其中的内容可能已经有所变动。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.tencentcloudapi.kms.v20190718.KmsClient;
import com.tencentcloudapi.kms.v20190718.models.DecryptRequest;
import com.tencentcloudapi.kms.v20190718.models.DecryptResponse;
@Configuration
public class KmsConfiguration {
@Value("${kms.key-id}")
private String keyId;
@Bean
public KmsClient kmsClient() {
// 设置SDK参数,如地域、服务等
return new KmsClient(123, "ap-beijing"); // 示例参数,请替换为实际参数
}
@Bean
public String decryptKey(KmsClient kmsClient) {
DecryptRequest request = new DecryptRequest();
// 设置请求参数,CiphertextBlob为密文
request.setCiphertextBlob("密文字节数组".getBytes());
// 调用接口
DecryptResponse response = kmsClient.decrypt(request);
// 输出密钥明文
return new String(response.getPlaintext());
}
}
这个代码示例展示了如何在Spring Boot应用程序中配置和使用KMS客户端来接收密文并获取其对应的明文。在这个配置类中,我们注入了KMS的keyId
,并创建了一个KmsClient
的Bean,该Bean可以用于其他需要使用KMS服务的组件。decryptKey
方法接收一个KmsClient
作为参数,构造了一个解密请求,并获取了解密后的密钥明文。
评论已关闭