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 키트에서 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==

즉, LUKS EEacuW7BUti8LcMgyjKw===시크릿 인 마스터 암호를 알고 있으면 다시 암호 해독할 수 있습니다.
도구를 다시 실행하면 암호화된 값은 다른 결과를 반환합니다. 그러나 값을 해독하면 항상 올바른 원래 값이 반환됩니다.

따라서 다음 매개변수를 사용하여 툴링을 실행하여 테스트할 수 있습니다.

$ cd <CAMEL_HOME>/lib
$ java -jar camel-jasypt-2.5.0.jar -c decrypt -p secret -i qaEEacuW7BUti8LcMgyjKw==

다음 결과를 출력하는 것은 다음과 같습니다.

Decrypted text: tiger

다음은 속성 파일에서 암호화된 값을 사용하는 것입니다. 암호 값이 암호화되는 방법 및 값에 ENC(value here)를 중심으로 하는 토큰을 확인합니다.

작은 정보

jasypt 툴링을 실행할 때 java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncryptor 를 사용하면 classpath에 jasypt7.13.jar를 포함해야 합니다. classpath에 Cryostat를 추가하는 예는 Java -jar …​ 로 실행하려는 경우 jasypt7.13.jar를 $JAVA_HOME\jre\lib\ext에 복사할 수 있습니다. 후자는 -cp를 사용하여 classpath에 jasypt7.13.jar를 추가할 수 있습니다. 이 경우 java -cp jasypt-1.9.jar:camel-jasypt-2.18.2.jar org.apache.camel.component.jasypt.Main -c - encrypt -c - Secret - slow -p endpoint로 실행할 기본 클래스를 제공해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.