package com.eactive.eai.adapter.socket2.protocol.xecure;

import java.util.Hashtable;


public class XecureErrorMessage {
	static Hashtable<String, String> hash = new Hashtable<String, String>();
	
	static {
		//--------------------------------------------------------------------------------
		//Exp Library Internal Error
		//--------------------------------------------------------------------------------
		hash.put("-10", "ERR_EXP_INTERNAL | 내부함수(EXP) 호출 오류. 개발자에게 문의하세요.");
		
		//--------------------------------------------------------------------------------
		//XTU Library Internal Error
		//--------------------------------------------------------------------------------
		hash.put("-11", "ERR_XTU_INTERNAL | 내부함수(XTU) 호출 오류. 개발자에게 문의하세요.");
		
		//--------------------------------------------------------------------------------
		//Invalid O/S Error
		//--------------------------------------------------------------------------------
		hash.put("-12", "ERR_NOT_COMPILED_FOR_UNIX | 윈도우즈 환경에서만 지원되는 함수입니다.");
		
		//--------------------------------------------------------------------------------
		//Verifies Client Certificate
		//--------------------------------------------------------------------------------
		hash.put("-101", "ERR_TRINITY_INVALID_CERT_LEN | 인증서 길이가 올바르지 않습니다.");
		hash.put("-102", "ERR_TRINITY_INVALID_CERTTYPE | 지원하지 않는 인증서 타입입니다.");
		hash.put("-103", "ERR_TRINITY_CONNECT_FAIL | RA 클라이언트 프로그램과의 접속에 실패했습니다.");
		hash.put("-104", "ERR_TRINITY_SEND_FAIL | RA 클라이언트로 메시지 전송에 실패했습니다.");
		hash.put("-105", "ERR_TRINITY_RECV_FAIL | RA 클라이언트로부터 메시지 수신에 실패했습니다.");
		hash.put("-106", "ERR_TRINITY_REVOKED | 인증서가 폐기되었습니다.");
		hash.put("-107", "ERR_TRINITY_SUSPENDED | 사용이 정지된 인증서입니다.");
		hash.put("-108", "ERR_TRINITY_INVALID_CERT | 인증서가 존재하지 않거나 잘못된 인증서입니다.");
		hash.put("-109", "ERR_TRINITY_RA_INTERNAL | RA 클라이언트 내부오류.");
		hash.put("-110", "ERR_TRINITY_INVALID_RESULT | RA 클라이언트로부터의 결과오류");
		hash.put("-111", "ERR_TRINITY_AUTH_FAIL | 사용자 인증 실패");
		hash.put("-112", "ERR_TRINITY_RMP_INTERNAL | TRINITY 내부오류입니다.");
		
		//--------------------------------------------------------------------------------
		//For client library
		//--------------------------------------------------------------------------------
		hash.put("-201", "ERR_CLIENT_INVALID_CERTFILE | 인증서 데이터가 올바르지 않습니다. 인증서 파일 내용을 확인해 보세요.");
		
		//--------------------------------------------------------------------------------
		//Set config parameters
		//--------------------------------------------------------------------------------
		hash.put("-301", "ERR_CONFIG_LOAD_FAIL | 설정(config) 파일 열기 오류. 파일의 경로등을 확인하세요.");
		hash.put("-302", "ERR_CONFIG_PARAMETER_FAIL | 설정 파라미터 읽기 오류. 설정파일의 내용이 올바른지 확인하세요.");
		
		//--------------------------------------------------------------------------------
		//Handles file I/O
		//--------------------------------------------------------------------------------
		hash.put("-401", "ERR_FILE_CERT_READ_FAIL | 인증서 파일 읽기를 실패했습니다.");
		hash.put("-402", "ERR_FILE_KEY_OPEN_FAIL | 서버의 비밀키 파일 열기를 실패했습니다. 설정파일에서 파일명 및 경로를 확인하세요. (Server Secret Key File)");
		hash.put("-403", "ERR_FILE_KEY_READ_FAIL | 서버의 비밀키 파일 읽기를 실패했습니다.");
		hash.put("-404", "ERR_FILE_CERT_OPEN_FAIL | 인증서 파일 열기를 실패했습니다. 설정파일에서 파일명 및 경로를 확인하세요. (Server Certificate File)");
		hash.put("-405", "ERR_FILE_CERT_WRITE_FAIL | 서버의 인증서 저장에 실패했습니다.");
		
		//--------------------------------------------------------------------------------
		//Handshake of SCP3.0
		//--------------------------------------------------------------------------------
		hash.put("-501", "ERR_HANDSHAKE_INVALID_INPUT | 입력값 오류. 입력버퍼 중에 NULL 값이 있습니다.");
		hash.put("-502", "ERR_HANDSHAKE_INVALID_INPUT_LEN | 입력길이 오류. 길이값이 너무 작거나 너무 큽니다.");
		hash.put("-503", "ERR_HANDSHAKE_INVALID_DATA_LENGTH | 입력길이 오류. 입력 길이값이 틀립니다.");
		hash.put("-504", "ERR_HANDSHAKE_INVALID_CLIENT_VERSION | 클라이언트 버전 오류. 입력값 또는 클라이언트 라이브러리 버전을 확인하세요.");
		hash.put("-505", "ERR_HANDSHAKE_INVALID_SESSION_ID_LEN | 세션아이디 길이값 오류. 세션아이디 길이(sid_len)는 0 에서 32 사이어야 합니다.");
		hash.put("-506", "ERR_HANDSHAKE_INVALID_CERT_LEN | 다운로드된 인증서 길이가 부적절합니다. (너무 크거나 음수입니다.) 데이터 전송상태를 확인하세요.");
		hash.put("-507", "ERR_HANDSHAKE_NOT_INITAILIZED | 라이브러리 초기화가 되어 있지 않습니다. 초기화 함수를 먼저 호출하세요.");
		hash.put("-508", "ERR_HANDSHAKE_INVALID_CONTENT_TYPE | 컨텐트타입 오류. 입력버퍼 내용이 부적절합니다.");
		hash.put("-509", "ERR_HANDSHAKE_INVALID_PROTOCOL_VERSION | 프로토콜 버전 오류. 입력값을 확인하세요.");
		hash.put("-510", "ERR_HANDSHAKE_NOT_SUPPORTED_MODE | 지원되지 않는 인증모드. 개발자에게 문의하세요.");
		hash.put("-511", "ERR_HANDSHAKE_INVALID_SECRET_LEN | 비밀값 길이 오류. 개발자에게 문의하세요.");
		hash.put("-512", "ERR_HANDSHAKE_INVALID_PROCESS_ID_LEN | 프로세스 아이디 오류. 입력값을 확인하세요.");
		hash.put("-513", "ERR_HANDSHAKE_INVALID_PROCESS_ID | 프로세스 아이디 오류. 개발자에게 문의하세요.");
		hash.put("-514", "ERR_HANDSHAKE_BAD_MAC | 맥값 오류. 데이터 위변조 되었거나 키값이 틀림. 키공유를 다시 하세요. 또는 개발자에게 문의하세요.");
		hash.put("-515", "ERR_HANDSHAKE_INVALID_SERVER_VERSION | 서버 버전 오류. 입력값을 확인하세요.");
		hash.put("-516", "ERR_HANDSHAKE_INVALID_CLIENT_ID_LEN | 클라이언트 아이디 오류. 입력값을 확인하세요. 또는 컨텍스트(ctx) 가 변경되었는지 확인하세요.");
		hash.put("-517", "ERR_HANDSHAKE_INVALID_SERVER_ID_LEN | 서버 아이디 오류. 입력값을 확인하세요. 또는 컨텍스트(ctx) 가 변경되었는지 확인하세요.");
		hash.put("-518", "ERR_HANDSHAKE_SMAN_NOT_SET | 세션 매니저가 세팅되어 있지 않습니다. 설정파일 값(use sman)을 변경한 후 세션 매니저를 구동하십시오.");
		hash.put("-519", "ERR_HANDSHAKE_NOT_SUPPORTED_TYPE | 지원되지 않는 인증서 업데이트 타입입니다. 설정파일의 Update Type 값이 1로 되어 있는지 확인하세요.");
		hash.put("-520", "ERR_HANDSHAKE_INVALID_PROFILE_LIST | 프로파일 리스트 오류. 제품버전 또는 입력값을 확인하세요.");
		hash.put("-521", "ERR_HANDSHAKE_NOT_SUPORTED_PROFILE | 지원되지 않는 프로파일입니다. 제품버전 또는 입력값을 확인하세요.");
		
		//--------------------------------------------------------------------------------
		//Key derivation function
		//--------------------------------------------------------------------------------
		hash.put("-601", "ERR_KDF_MALLOC_FAIL | 치명적 오류. 메모리 할당 실패.");
		
		//--------------------------------------------------------------------------------
		//Most high layer of XecureConnect3.0
		//--------------------------------------------------------------------------------
		hash.put("-701", "ERR_MAIN_INVALID_SMODE | 서브젝트 모드값(smode) 오류. 입력값을 확인하세요.");
		hash.put("-702", "ERR_MAIN_INVALID_CERTMODE | 인증모드 오류. 클라이언트 설정파일 내용을 확인하세요. cert mode 값은 0x01 - 0x03 사이 값이어야 합니다.");
		hash.put("-703", "ERR_MAIN_INVALID_TMODE | 트랜잭션 모드값(tmode) 오류. 입력값을 확인하세요.");
		hash.put("-704", "ERR_MAIN_INVALID_CONTENT_TYPE | 컨텐트타입 오류. 입력버퍼 내용이 부적절합니다.");
		hash.put("-705", "ERR_MAIN_NOKEY | 세션 리쥼 실패. 마스터키가 폐기되거나 존재하지 않습니다.");
		hash.put("-706", "ERR_MAIN_NOT_INITAILIZED | 라이브러리가 초기화 되어 있지 않습니다.");
		hash.put("-707", "ERR_MAIN_SIGNER_IS_NOT_CLIENT | 클라이언트에서만 사용할 수 있는 함수입니다. XC_SIGNGEN 함수를 참조하세요.");
		hash.put("-708", "ERR_MAIN_CALLER_IS_NOT_CLIENT | 클라이언트 전용 함수입니다.");
		hash.put("-709", "ERR_MAIN_CALLER_IS_NOT_SERVER | 서버가 호출하는 함수입니다.");
		hash.put("-710", "ERR_MAIN_INVALID_USER_NAME | 사용자의 주민번호 (name) 값이 올바르지 않습니다.");
		hash.put("-711", "ERR_MAIN_INVALID_INPUT | 입력값이 올바르지 않습니다.");
		hash.put("-712", "ERR_MAIN_INVALID_INPUT_LEN | 입력값 길이 오류. 길이 변수가 올바른지 확인하세요.");
		hash.put("-713", "ERR_MAIN_INVALID_CERT_TYPE | 지원되지 않는 인증서 형식입니다.");
		hash.put("-714", "ERR_MAIN_NOT_WINDOWS_VERSION | 윈도우즈 환경에서 실행될 수 없는 코드입니다.");
		hash.put("-715", "ERR_MAIN_INVALID_TYPE | 지원하지 않는 타입입니다.");
		
		//--------------------------------------------------------------------------------
		//Message encrypt and decrypt
		//--------------------------------------------------------------------------------
		hash.put("-801", "ERR_MESSAGE_INVALID_INPUT | 입력값 오류. 입력버퍼 중에 NULL 값이 있습니다.");
		hash.put("-802", "ERR_MESSAGE_NOT_INITAILIZED | 라이브러리 초기화가 되어 있지 않습니다. 초기화 함수를 먼저 호출하세요.");
		hash.put("-803", "ERR_MESSAGE_INVALID_INPUT_LEN | 입력길이 오류. 길이값이 너무 작거나 너무 큽니다.만일 63KB 보다 큰 메시지를 암복호 해야 한다면 XC_MSGLONG 함수를 사용하세요.");
		hash.put("-804", "ERR_MESSAGE_INVALID_DATA_LEN | 입력길이 오류. 입력 길이값이 틀립니다.");
		hash.put("-805", "ERR_MESSAGE_INVALID_SESSION_ID_LEN | 세션아이디 길이값 오류. 세션아이디 길이(sid_len)는 0 에서 32 사이어야 합니다. 보다 자세한 사항은 개발자에게 문의하세요.");
		hash.put("-806", "ERR_MESSAGE_NOT_SUPPORTED_SYMM_ALGORITHM | 지원되지 않는 알고리즘. 입력값을 확인하세요.");
		hash.put("-807", "ERR_MESSAGE_INVALID_CONTENT_TYPE | 컨텐트타입 오류. 입력값이 틀립니다. 입력값을 확인하세요");
		hash.put("-808", "ERR_MESSAGE_INVALID_SEQ_NUM | 시퀀스넘버 오류. 같은 메시지가 반복되었습니다. 혹은 외부 공격가능성도 있습니다. 적용단계에서 오류가 없었다면 개발자에게 문의하세요.");
		hash.put("-809", "ERR_MESSAGE_BAD_MAC | 맥값 오류. 데이터 위변조 되었거나 키값이 틀림. 키공유를 다시 하세요. 또는 개발자에게 문의하세요.");
		hash.put("-810", "ERR_MESSAGE_INVALID_VERSION | 메세지의 버전이 올바르지 않습니다. 입력값 또는 클라이언트 라이브러리 버전을 확인하세요.");
		hash.put("-811", "ERR_MESSAGE_INVALID_MAGALG | 지원되지 않는 맥 알고리즘입니다. 개발자에게 문의하세요.");
		hash.put("-812", "ERR_MESSAGE_MALLOC_FAIL | 메모리 할당 실패.");
		
		//--------------------------------------------------------------------------------
		//Decode PEM type data
		//--------------------------------------------------------------------------------
		hash.put("-901", "ERR_PEM_INVALID_INPUT | 입력값 중에 NULL 값이 있습니다. 인증서 및 키데이터 또는 입력값등을 확인하세요.");
		hash.put("-902", "ERR_PEM_INVALID_SEPERATOR | 데이터의 형식이 올바르지 않습니다. 인증서 또는 키파일의 내용을 확인하세요.");
		
		//--------------------------------------------------------------------------------
		//Calculate P_hash
		//--------------------------------------------------------------------------------
		hash.put("-1001", "ERR_PHASH_INVALID_INPUT | 입력값 중에 NULL 값이 있습니다.");
		hash.put("-1002", "ERR_PHASH_MALLOC_FAIL | 치명적 오류. 메모리 할당 실패.");
		
		//--------------------------------------------------------------------------------
		//For server library.
		//--------------------------------------------------------------------------------
		hash.put("-1101", "ERR_SERVER_INVALID_KEYFILE | 서버의 비밀키 파일 형식 오류. 비밀키 파일의 내용을 확인하세요.");
		hash.put("-1102", "ERR_SERVER_INVALID_CERTFILE | 서버의 인증서 파일 형식 오류. 인증서 파일의 내용을 확인하세요.");
		hash.put("-1103", "ERR_SERVER_INVALID_PASSWD | 비밀키에 대한 패스워드가 올바르지 않습니다.");
		
		//--------------------------------------------------------------------------------
		//Stores and searches session keys through session manager
		//--------------------------------------------------------------------------------
		hash.put("-1201", "ERR_SMAN_SOCKET_INIT_FAIL | 클라이언트 소켓 초기화 실패. O/S 의 소켓 라이브러리 지원여부를 확인하세요.");
		hash.put("-1202", "ERR_SMAN_INVALID_SESSION_ID_LEN | 세션아이디 길이 오류. 컨텍스트(ctx) 내용이 바뀌었는지 확인하세요.");
		hash.put("-1203", "ERR_SMAN_CONNECT_FAIL | 세션매니저 접속오류. 세션매니저의 아이피 설정 확인 또는 세션매니저가 구동되어 있는지 확인하세요.");
		hash.put("-1204", "ERR_SMAN_SEND_FAIL | 세션매니저 통신오류. 메세지 전송실패.");
		hash.put("-1205", "ERR_SMAN_RECV_FAIL | 세션매니저 통신오류. 메세지 수신실패.");
		hash.put("-1206", "EERR_SMAN_DECODE_FAIL | 세션매니저 전문오류. 개발자에게 문의하세요.");
		hash.put("-1207", "ERR_SMAN_KEY_EXPIRED | 세션키가 폐기됨. 클라이언트는 키공유를 다시 해야 합니다.");
		hash.put("-1208", "ERR_SMAN_SESSIONMANAGER_INTERNAL | 세션매니저 내부오류. 개발자에게 문의하세요.");
		hash.put("-1209", "ERR_SMAN_MASTERKEY_NOT_EXIST | 마스터키가 없거나 폐기되었습니다. 클라이언트는 키공유를 다시하세요.");
		
		//--------------------------------------------------------------------------------
		//Interface with client cert UI
		//--------------------------------------------------------------------------------
		hash.put("-1301", "ERR_XTU_INVALID_PASSWD | 사용자 비밀키에 대한 패스워드가 올바르지 않습니다.");
		
		//--------------------------------------------------------------------------------
		//For license check
		//--------------------------------------------------------------------------------
		hash.put("-1401", "ERR_LICENSE_MISMATCH | 발급된 라이선스 키 값이 해당 시스템을 위해 발급된 값이 아닙니다.");
		hash.put("-1402", "ERR_LICENSE_EXPIRED | 라이선스의 유효기간이 만료 되었읍니다.");
		hash.put("-1403", "ERR_LICENSE_GET_SYSTEMID_FAIL | 해당 시스템의 고유정보를 얻지 못해습니다. 네트웍 설정 등이 정상인지 살펴보세요.");
		hash.put("-1404", "ERR_LICENSE_FILE_OPEN_FAIL | 라이선스 파일을 읽을 수 없습니다. 파일의 위치 또는 존재여부를 확인하세요.");
		hash.put("-1405", "ERR_LICENSE_INTERNAL | 라이선스 관련 내부오류입니다. 개발자에게 문의하세요..");
		
		//--------------------------------------------------------------------------------
		//IDV
		//--------------------------------------------------------------------------------
		hash.put("-1501", "ERR_IDV_NAME_NULL | 사용자 아이디(주민번호) 정보가 필요합니다. 함수 입력값 중에 정보가 들어 있는지 확인하세요.");
		hash.put("-1502", "ERR_IDV_VERIFY_FAIL | vid 검증실패. 본인확인 검증에 실패했습니다.");
		hash.put("-1503", "ERR_IDV_INVALID_INPUT_LEN | 입력길이값(in_len)이 틀립니다.");
		
		//--------------------------------------------------------------------------------
		//Digital sign and envelope
		//--------------------------------------------------------------------------------
		hash.put("-1601", "ERR_PKCS7_INVALID_PASSWD | 비밀키에 대한 패스워드가 올바르지 않습니다.");
		
		//--------------------------------------------------------------------------------
		//Path validation
		//--------------------------------------------------------------------------------
		hash.put("-1701", "ERR_PVD_INVALID_INPUT | 입력값이 올바르지 않습니다.");
		hash.put("-1702", "ERR_PVD_CERT_INVALID | 인증서가 올바르지 않습니다.");
		hash.put("-1703", "ERR_PVD_CERT_DN_INVALID | 인증서의 DN 값이 올바르지 않습니다.");
		hash.put("-1704", "ERR_PVD_CERT_SIGN_INVALID | 인증서의 서명값이 올바르지 않습니다.");
		hash.put("-1705", "ERR_PVD_CERT_NOT_YET_VALID | 인증서를 아직 사용할 수 없습니다.");
		hash.put("-1706", "ERR_PVD_CERT_EXPIRED | 인증서의 유효기간이 만료되었습니다.");
		hash.put("-1707", "ERR_PVD_CERT_REVOKED | 인증서가 폐기되었습니다.");
		hash.put("-1708", "ERR_PVD_CERT_NOT_FOUND | 인증서를 찾을 수 없습니다.");
		hash.put("-1709", "ERR_PVD_CERT_EXT_INVALID | 인증서의 확장필드가 올바르지 않습니다.");
		hash.put("-1710", "ERR_PVD_CERT_EXT_NOT_EXIST | 인증서의 확장필드가 존재하지 않습니다.");
		hash.put("-1711", "ERR_PVD_CERT_NAME_MISMATCH | 인증서명이 일치하지 않습니다.");
		hash.put("-1712", "ERR_PVD_CERT_KEYID_MISMATCH | 인증서의 키아이디 값이 일치하지 않습니다.");
		hash.put("-1713", "ERR_PVD_CERT_KEYUSAGE_INVALID | 인증서의 key usage 값이 올바르지 않습니다.");
		hash.put("-1714", "ERR_PVD_CERT_POLICY_INVALID | 인증서의 policy 가 초과되었습니다.");
		hash.put("-1715", "ERR_PVD_CERT_BC_INVALID | 인증서의 bc 가 올바르지 않습니다.");
		hash.put("-1716", "ERR_PVD_CERT_CRLDP_INVALID | 인증서의 crldp 가 올바르지 않습니다.");
		hash.put("-1718", "ERR_PVD_CERT_AIA_INVALID | 인증서의 aia 가 올바르지 않습니다.");
		hash.put("-1719", "ERR_PVD_ROOT_SIGN_INVALID | 루트 인증서의 sign 이 올바르지 않습니다.");
		hash.put("-1720", "ERR_PVD_ROOT_NOT_YET_VALID | 루트 인증서를 아직 사용할 수 없습니다.");
		hash.put("-1721", "ERR_PVD_ROOT_EXPIRED | 루트 인증서가 폐기되었습니다.");
		hash.put("-1722", "ERR_PVD_PATH_NOT_FOUND | 경로를 찾을 수 없습니다.");
		hash.put("-1723", "ERR_PVD_PATH_LENGTH_EXCEED | 경로가 제한 길이를 초과했습니다.");
		hash.put("-1724", "ERR_PVD_CRL_INVALID | CRL 이 올바르지 않습니다.");
		hash.put("-1725", "ERR_PVD_CRL_DN_INVALID | CRL DN 이 올바르지 않습니다.");
		hash.put("-1726", "ERR_PVD_CRL_SIGN_INVALID | CRL 서명값이 올바르지 않습니다.");
		hash.put("-1727", "ERR_PVD_CRL_EXPIRED | CRL 이 폐기되었습니다.");
		hash.put("-1728", "ERR_PVD_CRL_NOT_AVAIL | CRL 을 사용할 수 없습니다.");
		hash.put("-1729", "ERR_PVD_CRL_NOT_FOUND | CRL 을 찾을 수 없습니다.");
		hash.put("-1730", "ERR_PVD_STORE_ERROR | 인증서 저장소 오류입니다.");
		hash.put("-1731", "ERR_PVD_LDAP_ERROR | LDAP 오류입니다.");
		hash.put("-1732", "ERR_PVD_OCSP_ERROR | OCSP 오류입니다.");
		hash.put("-1733", "ERR_PVD_NOTSUPPORTED_POLICY_CODE | 지원하지 않는 인증서 정책코드 또는 지원하지 않는 인증기관에서 발급한 인증서입니다. 인증서 정책코드 파일을 확인 또는 정책코드 관련 API 를 참조하세요.");
		hash.put("-1734", "ERR_PVD_PARESE_URL | AIA 필드 파싱에 실패 했습니다.");
		hash.put("-1735", "ERR_PVD_SOCKET_CLIENT | OCSP 서버 연결에 실패 했습니다.");
		hash.put("-1736", "ERR_PVD_NO_RESP_LIST | OCSP 응답에 목록정보가 없습니다.");
		
		//--------------------------------------------------------------------------------
		//Client cert select UI
		//--------------------------------------------------------------------------------
		hash.put("-1801", "ERR_XWCS_CNBUF_OVERFLOW | CN 버퍼의 저장 한도를 초과했습니다. 인증서 정책코드 파일을 참조하거나 관리자에게 문의하세요.");
		hash.put("-1802", "ERR_XWCS_CN_NOMATCH | 해당 CN 이 저장되어 있지 않습니다. 인증서 정책코드 파일을 확인 또는 정책코드 관련 API 를 참조하세요.");
		
		//--------------------------------------------------------------------------------
		//POLICY
		//--------------------------------------------------------------------------------
		hash.put("-1901", "ERR_POLICY_LIST_OVERFLOW | 정책코드 테이블의 저장 한도를 초과했습니다. 인증서 정책코드 파일을 참조하거나 관리자에게 문의하세요.");
		hash.put("-1902", "ERR_POLICY_CODE_NOMATCH | 일치하는 인증서 정책코드가 없습니다. 인증서 정책코드 파일을 확인 또는 정책코드 관련 API 를 참조하세요.");
		hash.put("-1903", "ERR_POLICY_CNLIST_OVERFLOW | CN 리스트 테이블의 저장 한도를 초과했습니다. 인증서 정책코드 파일을 참조하거나 관리자에게 문의하세요.");
		hash.put("-1904", "ERR_POLICY_CN_NOMATCH | 일치하는 CN 정보가 없습니다. 인증서 정책코드 파일을 확인 또는 정책코드 관련 API 를 참조하세요.");
		hash.put("-1905", "ERR_POLICY_FILE_OPEN_FAIL | 파일 열기에 실패했습니다. 주어진 경로에 파일이 있는지 확인하세요.");
		hash.put("-1906", "ERR_POLICY_FILE_READ_FAIL/td> | 파일 읽기에 실패했습니다. 파일 내용이 올바른지 확인하세요.");
		hash.put("-1907", "ERR_POLICY_FIRST_BLOCKBEGIN | 필터링 파일 형식이 잘못 되었습니다. 블럭기호는 가장 처음에 나올 수 없습니다.");
		hash.put("-1908", "ERR_POLICY_INVALID_BLOCKEND | 필터링 파일 형식이 잘못 되었습니다. 블럭의 닫힘기호가 발견되지 않았거나 잘못 위치해 있습니다.");
		hash.put("-1909", "ERR_POLICY_INVALID_CN_CONST | CN 상수값이 올바르지 않습니다. 입력값 중 CN 상수값을 확인하세요.");
		hash.put("-1910", "ERR_POLICY_RESERVED_CN | 이미 등록되어 있은 CN 입니다.");
	}
	
	static public String getErrorMessage(String key) {
		String value = hash.get(key);
		if (value == null) {
			return "Unknown Error.";
		}
		return value;
	}
	
	static public String getErrorMessage(int key) {
		return getErrorMessage(String.valueOf(key));
	}
}
