4.2. Spring Boot에서 암호화된 속성 위치 소유자 사용


Jasypt를 사용하면 속성 소스에 대한 암호화를 제공하고 애플리케이션은 암호화된 속성을 해독하고 원래 값을 검색할 수 있습니다. 다음 절차에서는 Spring Boot에서 속성 소스를 암호화하고 해독하는 방법을 설명합니다.

절차

  1. 프로젝트의 pom.xml 파일에 jasypt 종속성을 추가합니다.

    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>3.0.3</version>
    </dependency>
  2. 프로젝트의 pom.xml에 Maven 리포지토리를 추가합니다.

    <repository>
    <id>jasypt-basic</id>
    <name>Jasypt Repository</name>
    <url>https://repo1.maven.org/maven2/</url>
    </repository>
  3. Jasypt Maven 플러그인을 프로젝트에 추가하고 암호화 및 암호 해독에 Maven 명령을 사용할 수 있습니다.

    <plugin>
       <groupId>com.github.ulisesbocchio</groupId>
       <artifactId>jasypt-maven-plugin</artifactId>
       <version>3.0.3</version>
     </plugin>
  4. pom.xml 에 plugin 리포지토리를 추가합니다.

    <pluginRepository>
       <id>jasypt-basic</id>
       <name>Jasypt Repository</name>
       <url>https://repo1.maven.org/maven2/</url>
    </pluginRepository>
  5. application.properties 파일에 나열된 사용자 이름과 암호를 암호화하려면 다음과 같이 DEC() 내에 이러한 값을 래핑합니다.

    spring.datasource.username=DEC(root)
    spring.datasource.password=DEC(Password@1)
  6. 다음 명령을 실행하여 사용자 이름과 암호를 암호화합니다.

    mvn jasypt:encrypt -Djasypt.encryptor.password=mypassword

    이는 application.properties 파일의 DEC() 자리 표시자를 암호화된 값으로 교체합니다. 예를 들면 다음과 같습니다.

    spring.datasource.username=ENC(3UtB1NhSZdVXN9xQBwkT0Gn+UxR832XP+tOOfFTlNL57FiMM7BWPRTeychVtLLhB)
    spring.datasource.password=ENC(4ErqElyCHjjFnqPOCZNAaTdRC7u7yJSy16UsHtVkwPIr+3zLyabNmQwwpFo7F7LU)
  7. Spring 애플리케이션 구성 파일에서 자격 증명을 해독하려면 다음 명령을 실행합니다.

    mvn jasypt:decrypt -Djasypt.encryptor.password=mypassword

    이렇게 하면 application.properties 파일의 내용이 암호화 이전과 같이 출력됩니다. 그러나 구성 파일은 업데이트하지 않습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.