168장. Jasypt 구성 요소
Camel 2.5에서 사용 가능
Jasypt 는 암호화 및 암호 해독을 쉽게 수행할 수 있는 단순화된 암호화 라이브러리입니다. Camel은 Jasypt와 통합되어 속성 파일의 중요한 정보를 암호화할 수 있도록 합니다. camel-jasypt
를 클래스 경로에 배치하면 암호화된 값이 Camel에 의해 자동으로 암호 해독됩니다. 이를 통해 사람의 눈은 사용자 이름 및 암호와 같은 민감한 정보를 쉽게 찾을 수 없습니다.
Maven을 사용하는 경우 이 구성 요소에 대해 다음 종속성을 pom.xml
에 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jasypt</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
Apache Karaf 컨테이너를 사용하는 경우 이 구성 요소에 대해 다음 종속성을 pom.xml
에 추가해야 합니다.
<dependency> <groupId>org.apache.karaf.jaas</groupId> <artifactId>org.apache.karaf.jaas.jasypt</artifactId> <version>x.x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
168.1. 툴
Jasypt 구성 요소는 값을 암호화하거나 해독하는 데 필요한 몇 가지 명령줄 도구를 제공합니다.
콘솔은 구문 및 제공하는 옵션을 출력합니다.
Apache Camel Jasypt takes the following options -h or -help = Displays the help screen -c or -command <command> = Command either encrypt or decrypt -p or -password <password> = Password to use -i or -input <input> = Text to encrypt or decrypt -a or -algorithm <algorithm> = Optional algorithm to use
예를 들어 다음 매개변수로 실행하는 호랑이
값을 암호화하려면 다음을 수행합니다. apache camel Kit에서는 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
다음 결과를 출력하는 것은 무엇입니까?
Encrypted text: qaEEacuW7BUti8LcMgyjKw==
즉, 암호화된 표현 qaEEacuW7BUti8LcMgyjKw==
이 비밀
인 마스터 암호를 알고 있으면 호랑이로 다시 암호 해독할 수 있습니다.
도구를 다시 실행하면 암호화된 값이 다른 결과를 반환합니다. 그러나 값을 해독하는 것은 항상 올바른 원래 값을 반환합니다.
따라서 다음 매개변수를 사용하여 툴을 실행하여 테스트할 수 있습니다.
$ cd <CAMEL_HOME>/lib $ java -jar camel-jasypt-2.5.0.jar -c decrypt -p secret -i qaEEacuW7BUti8LcMgyjKw==
다음 결과를 출력하는 것은 무엇입니까?
Decrypted text: tiger
그런 다음 해당 값은 속성 파일에 사용됩니다.The data is then to use those encrypted values in your Properties files. 암호 값이 암호화되고 값에 ENC(value)를 둘러
싼 토큰이 있는지 확인하십시오.
jasypt 툴을 실행하는 경우 java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncrypt또는
이는 classpath에 jasypt7.10.jar를 포함해야 함을 의미합니다. java -jar …
로 실행하려는 경우 classpath에 jasypt7.10.jar를 $JAVA_HOME\jre\lib\ext로 복사하는 예는 다음과 같습니다. 후자는 -cp를 사용하여 클래스 경로에 jasypt7.10.jar를 추가할 수 있습니다. 이 경우 java
-cp
jasypt-1.9.jar:camel-jasypt-2.18.jar org.apache.camel.component.jasymel.component.jasypt.jasymin-password.jasypt-password.jasypt-Kain - secret -ptain - secretpinx를 실행할 수 있는 기본 클래스를 제공해야 합니다.