前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring cloud config 加密出现"status":"NO_KEY"的解决方法

spring cloud config 加密出现"status":"NO_KEY"的解决方法

作者头像
lyb-geek
发布2018-07-26 10:13:41
5170
发布2018-07-26 10:13:41
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路

前言

利用spring cloud config对配置文件字段进行加密的,如果出现

{"description":"No key was installed for encryption service","status":"NO_KEY"}

这样的错。造成这种原因通常有三种。

1、未配置JCE 2、未设置key/keystore 3、spring cloud bug

解决方法

1、配置JCE

JDK6的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

然后解压压缩包,把local_policy.jar和US_export_policy.jar拷贝并覆盖到$JAVA_HOME/jre/lib/security目录下

2、配置key/keystore

配置key

在服务端的配置文件加入

encrypt: key: hello

配置keystore

利用java自带的keytool 生成秘钥

在服务端的配置文件加入

encrypt: keyStore: location: classpath:/hello.keystore # keystroe位置 password: hello # 密钥库的密码 alias: helloKey # 密钥对的别名 secret: hello # 密钥口令

3、spring cloud bug

如果是采用Dalston.SR2、Dalston.SR3版本,则不能进行加密。此时可以降级到

Dalston.SR1版本

加密配置细节

Dalston.SR3版本以后,配置秘钥必须得在bootstrap.yml或者bootstrap.propertiesl文件中配置,而不能在application.yml或者application.propertiesl配置,在application.yml或者application.properties配置没办法生效。如果是采用Dalston.SR1版本都能生效

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 解决方法
  • 加密配置细节
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档