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

前言

利用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版本都能生效

原文发布于微信公众号 - Linyb极客之路(gh_c420b2cf6b47)

原文发表时间:2018-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA高级架构

Java编写基于netty的RPC框架

1472
来自专栏TSW

Node.js官方披露安全漏洞,建议尽快升级

1253
来自专栏黄希彤的专栏

负载均衡https转发会让服务器误判

腾讯云的负载均衡提供了非常好使的https转发功能,只要把证书配置到负载均衡上面,然后把443端口的请求转发到服务器的http服务端口上就可以透明的提供http...

7419
来自专栏重庆的技术分享区

python35安装的各种工具和库(不是模块)

1936
来自专栏JMCui

SpringBoot 之Actuator.

    Actuator 是 SpringBoot 项目中一个非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api 请求来监管、审计、...

1145
来自专栏Python

linux每日命令(30):Linux 用户及用户组相关文件、命令详解

Linux用户只有两个等级:root及非root。Linux中还有一部分用户,如:apache、mysql、nobody、ftp等,这些也都是非root用户,即...

1303
来自专栏乐沙弥的世界

安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称。SCAN...

983
来自专栏散尽浮华

[原创]CI持续集成系统环境---部署gerrit环境完整记录

开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下: 提前安装好java环境,mysql环境,nginx环境 测试系...

3229
来自专栏木木玲

Netty in action ——— 传输协议

2086
来自专栏LanceToBigData

linux(十二)之用户管理

前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了。现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其...

1997

扫码关注云+社区

领取腾讯云代金券