167장. Jasypt 구성 요소
Camel 2.5 사용 가능
Jasypt 는 암호화 및 암호 해독을 쉽게 만드는 간소화된 암호화 라이브러리입니다. Camel은 Jasypt와 통합되어 Properties 파일의 민감한 정보를 암호화할 수 있습니다. 암호화된 값이 Camel에 의해 자동으로 암호 해제됩니다. 이렇게 하면 사람이 사용자 이름 및 암호와 같은 민감한 정보를 쉽게 찾을 수 없습니다.
Maven을 사용하는 경우 이 구성 요소의 pom.xml
에 다음 종속성을 추가해야 합니다.
Apache Karaf 컨테이너를 사용하는 경우 이 구성 요소의 pom.xml
에 다음 종속성을 추가해야 합니다.
167.1. 툴링 링크 복사링크가 클립보드에 복사되었습니다!
Jasypt 구성 요소는 값을 암호화하거나 해독하는 데 필요한 몇 가지 명령줄 도구를 제공합니다.
콘솔은 구문을 출력하고 어떤 옵션을 제공하는지 확인합니다.
예를 들어 다음 매개변수를 사용하여 실행하는 값을 암호화합니다. apache camel 키트에서는 lib 폴더로 cd하고 다음 java cmd를 실행합니다. 여기서 < CAMEL_HOME >은 Camel 배포를 다운로드하고 추출한 위치입니다.
cd <CAMEL_HOME>/lib java -jar camel-jasypt-2.5.0.jar -c encrypt -p secret -i tiger
$ cd <CAMEL_HOME>/lib
$ java -jar camel-jasypt-2.5.0.jar -c encrypt -p secret -i tiger
다음 결과를 출력하는 방법
Encrypted text: qaEEacuW7BUti8LcMgyjKw==
Encrypted text: qaEEacuW7BUti8LcMgyjKw==
즉, 시크릿
인 마스터 암호를 알고 있는 경우 암호화된 EEacuW7BUti8LcMgyjKw==
로 암호 해독할 수 있습니다.
도구를 다시 실행하면 암호화된 값이 다른 결과를 반환합니다. 그러나 값을 암호 해독하면 항상 올바른 원래 값을 반환합니다.
다음 매개변수를 사용하여 툴을 실행하여 테스트할 수 있습니다.
cd <CAMEL_HOME>/lib java -jar camel-jasypt-2.5.0.jar -c decrypt -p secret -i qaEEacuW7BUti8LcMgyjKw==
$ cd <CAMEL_HOME>/lib
$ java -jar camel-jasypt-2.5.0.jar -c decrypt -p secret -i qaEEacuW7BUti8LcMgyjKw==
다음 결과를 출력하는 것은 무엇입니까.
Decrypted text: tiger
Decrypted text: tiger
그런 다음 속성 파일에서 암호화된 값을 사용하는 것입니다. 암호 값이 암호화되고 값이 ENC(여기서 값)
에 걸쳐 있는 토큰을 확인합니다.
jasypt 툴링을 실행할 때 java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/ECDHEPBEStringEncryptor
에 있는 경우 클래스 경로에 jasypt7.11.jar를 포함해야 합니다. java -jar …
로 실행하려는 경우 classpath에0:0을 추가하면 jasypt7.11.jar를 $JAVA_HOME\jre\lib\ext로 복사할 수 있습니다. 후자는 -cp를 사용하여 클래스 경로에 jasypt7.11.jar를 추가할 수 있습니다. 이 경우 eg: java
로 실행할 수 있습니다.
-cp
jasypt-1.9.2.jar:camel-jasypt-2.18.jar org.apache.camel.camel.camel.camel.camel.component.jasypt.Main -p encrypt -p encrypt -p encrypt -p