암호화/복호화

개요

암호화/복호화는 보안을 위하여 데이터를 암호화하거나 암호화된 데이터를 복호화하기 위해, ARIA 방식을 통한 데이터의 암호화 및 복호화 기능을 제공한다.

전제조건

암복호화 기능을 사용하기 위해서는 전자정부 표준프레임워크 실행환경중 egovframework.rte.fdl.crypto-x.x.x.jar 라이브러리를 필요로 한다.

보다 자세한 사항은 실행환경의 암호화/복호화 서비스를 참조한다.

설명

암복호화는 서비스를 통해 데이터 암호화 및 복호화를 제공하는 기능으로 별도의 화면에서 평문을 입력하고 암호화 문자열을 암호화하여 BASE64형태로 전달받으며, 이를 다시 원문으로 복호화 하는 참고 화면을 제공한다.

패키지 참조 관계

암호화/복호화 패키지는 요소기술의 공통 패키지(cmm)에 대해서만 직접적인 함수적 참조 관계를 가진다.

관련소스

유형대상소스비고
Controlleregovframework.com.sec.pki.web.EgovCryptoController.java암호화/복호화 테스트를 위한 컨트롤러 클래스
Serviceegovframework.com.sec.pki.service.EgovGPKIService.java암호화/복호화를 위한 서비스 인터페이스
ServiceImplegovframework.com.sec.pki.service.impl.EgovGPKIServiceImpl.java암호화/복호화를 위한 서비스 구현 클래스
JSP/WEB-INF/jsp/egovframework/com/sec/pki/EgovCryptoInfo.jsp암호화/복호화 테스트를 위한 jsp페이지
Message propertiesresources/egovframework/message/com/sec/pki/message_ko.properties암호화/복호화를 위한 Message properties(한글)
Message propertiesresources/egovframework/message/com/sec/pki/message_en.properties암호화/복호화를 위한 Message properties(영문)

환경설정

암호화/복호화 기능을 활용하기 위하여 필요한 항목 및 그 환경 설정은 다음과 같다.

crypto ARIA 암복호화 라이브러리 설치 확인

ARIA 방식의 암호화 복호화 서비스를 사용하기 위해서는 표준프레임워크 실행환경 구성요소중 cryto라이브러리가 설치되어야 한다.

pom.xml 추가 (dependency추가)
<dependency>
    <groupId>egovframework.rte</groupId>
    <artifactId>egovframework.rte.fdl.crypto</artifactId>
    <version>${egovframework.rte.version}</version>
</dependency>
context-crypto.xml 설정
<egov-crypto:config id="egovCryptoConfig"
    initial="false"
    crypto="false"
    algorithm="SHA-256"
    algorithmKey="egovframe"
    algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
    cryptoBlockSize="1024"
/>
Controller에서 서비스 주입
@Controller
public class EgovCryptoController {

    /** 암호화서비스 */
    @Resource(name = "egovEnvCryptoService")
    EgovEnvCryptoService cryptoService;
    
    @Resource(name = "egovEnvPasswordEncoderService")
    EgovPasswordEncoder egovPasswordEncoder;
    ..........

* 해당 샘플은 v3.8 이상을 사용하여야 정상적인 구동이 가능하다.

관련화면

암복호화 테스트 화면은 다음과 같다.

암호화/복호화 테스트

관련코드

cryptoService.encrypt(encrypt); // 암호화한후에 URLEncoding 처리함.
cryptoService.encryptNone(encrypt); // 암호화한후에 URLEncoding 처리 안함.

return cryptoService.decrypt(decrypt); // 복호화전에 URLDecoding 처리함.
cryptoService.decryptNone(decrypt); // 복호화전에 URLDecoding 처리 안함.

관련화면 및 수행매뉴얼

ActionURLController methodSQL NamespaceSQL QueryID
테스트조회/sec/pki/EgovCryptoInfo.dodisplayCryptoInfo”“”“

암복호화 테스트화면

테스트는 전달된 평문에 대한 암호화 데이타를 BASE64로 표시하여주고 암호화 데이타를 복호화 하여 문자열로 출력한다.

 
egovframework/com/v4.2/sec/암호화_복호화.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki