2016-12-22 1 views
1

application.yml에서 암호화 된 속성을 사용하여 spring-cloud-config-server를 실행하려고합니다.spring-cloud-config-server의 암호화

--- 

server: 
    port: 8888 

spring: 
    cloud: 
    config: 
     server: 
     git: 
      uri: file:/Users/gadams/git/cs-config 

encrypt: 
    key-store: 
    location: classpath:/config-server.jks 
    password: password 
    alias: alias 
    secret: secret 

security: 
    user: 
    password: '{cipher}encryptedPassword' 

나는 시작시 다음과 같은 오류가 발생합니다 : 내가 org.springframework.cloud:spring-cloud-dependencies:Camden.SR3을 사용하고

java.lang.IllegalStateException: Cannot decrypt: key=security.user.password 
    at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:201) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:165) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.initialize(EnvironmentDecryptApplicationInitializer.java:95) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    at org.springframework.cloud.bootstrap.BootstrapApplicationListener$DelegatingEnvironmentDecryptApplicationInitializer.initialize(BootstrapApplicationListener.java:333) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:635) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] 
    at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:349) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] 
    at com.collegescheduler.ConfigServerApplication.main(ConfigServerApplication.java:12) [bin/:na] 
Caused by: java.lang.UnsupportedOperationException: No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly? 
    at org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$FailsafeTextEncryptor.decrypt(EncryptionBootstrapConfiguration.java:152) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:193) ~[spring-cloud-context-1.1.6.RELEASE.jar:1.1.6.RELEASE] 
    ... 9 common frames omitted 

. 설정 서버에서 스프링 보안 사용자 암호를 암호화하려면 어떻게해야합니까?

+0

당신이 내 대답을 확인 했습니까? –

답변

0

로그의 키 저장소 구성에 문제가 있습니다.

먼저 keytool을 사용하여 키 저장소의 통과/비밀/별칭을 확인하십시오.

+0

키 저장소 구성은 github의 구성에서 암호화 된 속성에 대해 잘 작동합니다. 부트 스트랩 단계에서는 구성 서버의 application.yml에있는 특성에 대해 작동하지 않습니다. – gadams00

0

prerequisites을 존경하셨습니까?

전제 조건 : 전체 강도 JCE는 (은 기본으로가 아니라) 귀하의 JVM에 설치 필요 암호화 및 암호 해독 기능을 사용할 수 있습니다. Oracle에서 "Java Cryptography Extension (JCE) 무제한 강도 관할 정책 파일"을 다운로드하고 설치 지침을 따르십시오 (기본적으로 JRE lib/security 디렉토리에있는 2 개의 정책 파일 을 다운로드 한 것으로 대체하십시오).

는 또한 pom.xml에 있어야한다 :

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-rsa</artifactId> 
</dependency> 
관련 문제