配置客户端无法解密

时间:2019-05-17 21:44:24

标签: spring-boot spring-cloud-config

我已部署configserver正常工作,能够使用url localhost:8888 / encrypt和localhost:8888 / decrypt来加密和解密密码。我已加密配置服务器security.user.password中使用的密码。

我在配置客户端引导程序属性中添加了加密的安全密钥。现在,如下所示引导配置客户端。

加密: 密钥:caoConfigserverspring 应用: 名称:xyz 云: 配置: uri:http://localhost:8888 已启用:true 快速失败:正确 用户名:my_user 密码:“ {cipher} 1234567890hjdbcbvnhfg” 服务器: 端口:8080

我尝试了不带单引号的密码,并且应用程序失败,并出现解析错误。我尝试使用普通密码作为密码,并且该应用程序正常运行。当我使用加密值时,在部署时会看到以下错误。使用加密密码时我会丢失什么?

2019-05-17 13:03:53-应用程序运行失败 java.lang.IllegalStateException:无法解密:key = cloud.config.password 在org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.doDecrypt(EnvironmentDecryptApplicationInitializer.java:238)〜[spring-cloud-context-2.1.0.RELEASE.jar!/:2.1.0.RELEASE] 在org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:169)〜[spring-cloud-context-2.1.0.RELEASE.jar!/:2.1.0.RELEASE] 在org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.initialize(EnvironmentDecryptApplicationInitializer.java:96)〜[spring-cloud-context-2.1.0.RELEASE.jar!/:2.1.0.RELEASE] 在org.springframework.cloud.bootstrap.BootstrapApplicationListener $ DelegatingEnvironmentDecryptApplicationInitializer.initialize(BootstrapApplicationListener.java:407)〜[spring-cloud-context-2.1.0.RELEASE.jar!/:2.1.0.RELEASE] 在org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:649)上[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE] 在org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:373)上[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:314)[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)上[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE] 在com.verizon.cao.hcm.shared.security.AuthorizationApplication.main(AuthorizationApplication.java:15)上[类!/:0.1.0] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[na:1.8.0_172] 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[na:1.8.0_172] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[na:1.8.0_172] 在java.lang.reflect.Method.invoke(Method.java:498)〜[na:1.8.0_172] 在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)[auth-0.1.0.jar:0.1.0] 在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)[auth-0.1.0.jar:0.1.0] 在org.springframework.boot.loader.Launcher.launch(Launcher.java:50)[auth-0.1.0.jar:0.1.0] 在org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)上[auth-0.1.0.jar:0.1.0] 原因:java.lang.IllegalStateException:由于填充错误,无法调用Cipher 在org.springframework.security.crypto.encrypt.CipherUtils.doFinal(CipherUtils.java:142)〜[spring-security-crypto-5.1.5.RELEASE.jar!/:5.1.5.RELEASE] 在org.springframework.security.crypto.encrypt.AesBytesEncryptor.decrypt(AesBytesEncryptor.java:128)〜[spring-security-crypto-5.1.5.RELEASE.jar!/:5.1.5.RELEASE] 在org.springframework.security.crypto.encrypt.HexEncodingTextEncryptor.decrypt(HexEncodingTextEncryptor.java:40)〜[spring-security-crypto-5.1.5.RELEASE.jar!/:5.1.5.RELEASE] 在org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.doDecrypt(EnvironmentDecryptApplicationInitializer.java:230)〜[spring-cloud-context-2.1.0.RELEASE.jar!/:2.1.0.RELEASE] ...省略了17个通用框架 原因:javax.crypto.BadPaddingException:给定的最终块未正确填充。如果在解密过程中使用了错误的密钥,则会出现此类问题。 在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:991)〜[sunjce_provider.jar:1.8.0_171] 在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)〜[sunjce_provider.jar:1.8.0_171] 在com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)〜[sunjce_provider.jar:1.8.0_171] 在javax.crypto.Cipher.doFinal(Cipher.java:2164)〜[na:1.8.0_171] 在org.springframework.security.crypto.encrypt.CipherUtils.doFinal(CipherUtils.java:135)〜[spring-security-crypto-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]

0 个答案:

没有答案