비밀번호 암호화

EGL 명령행 유틸리티로 비밀번호를 암호화할 수 있습니다. 비밀번호 암호화는 COBOL 프로그램이 아닌 Java™ 프로그램 및 디버거에만 지원됩니다.

EGL이 출력 파일을 생성할 때, 이는 시스템 함수에 전달되는 특성 파일과 리터럴의 비밀번호를 자동으로 암호화합니다. 예를 들어, 다음은 sqlLib.connect 시스템 함수에 대한 호출입니다.
sqlLib.connect(myDatabase, myUserid, "myPassword");
비밀번호 매개변수가 문자열 리터럴로 지정되어 생성된 코드에서 자동으로 암호화됩니다.
그러나 함수 호출이 아닌 위치에서 비밀번호를 하드 코딩하는 경우 EGL이 비밀번호를 암호화하지 않습니다.
myPasswordVariable string = "myPassword";
sqlLib.connect(myDatabase, myUserid, myPasswordVariable);
이 경우 비밀번호는 암호화되지 않으며 생성된 소스에서 표시됩니다.
명령형 유틸리티를 실행하고 코드에서 리턴된 암호화 값을 사용하여 비밀번호를 수동으로 암호화할 수 있습니다.
myPasswordVariable string = "crypto:abcdef12345";
sqlLib.connect(myDatabase, myUserid, myPasswordVariable);
다음은 하드 코딩된 비밀번호를 수동으로 암호화해야 할 수 있는 일부 위치입니다.
  • 비밀번호를 저장하는 변수
  • CallLink 요소 특성(예: ctgKeyStorePassword)
  • 리터럴로서 또는 함수 호출에서 비밀번호를 전달하지 않는, sqlLib.connect, sysLib.setRemoteUser 또는 VGLib.connectionService와 같은 시스템 함수에 대한 호출

EGL 시스템 함수는 crypto: 접두부가 있는 비밀번호를 수신할 때 비밀번호를 자동으로 복호화합니다. 이러한 이유로 crypto: 문자로 시작하는 비밀번호를 암호화해야 하며 그렇지 않으면 EGL이 암호화되지 않은 비밀번호를 복호화하려고 시도합니다.

다음 단계를 따라 비밀번호를 암호화하십시오.

  1. 시스템의 경로에 Java 실행 파일을 추가하십시오.
    1. Java SDK가 없는 경우 얻은 후 설치하십시오. IBM®은 다음 웹 사이트에서 다운로드할 수 있는 Java SDK를 제공합니다. http://www.ibm.com/developerworks/java/jdk/.
    2. 시스템의 PATH 환경 변수에서 Java SDK의 위치를 추가하십시오. 지시사항은 운영 체제의 문서를 참조하십시오.
  2. 명령 프롬프트를 여십시오.
  3. 다음 위치로 이동하십시오.
    shared_resources\plugins\
    com.ibm.etools.egl.java.runtime_version
    shared_resources
    제품의 공유 자원 디렉토리(예: Windows 시스템의 C:\Program Files\IBM\SDP70Shared 또는 Linux 시스템의 /opt/IBM/SDP70Shared)입니다. 현재 제품을 설치하기 전에 EGL이 포함된 이전 버전의 IBM 제품을 설치하고 유지한 경우 이전 설치에서 설정된 공유 자원 디렉토리를 지정해야 할 수도 있습니다.
    version
    설치된 플러그인 버전입니다. 두 개 이상이 있는 경우 이전 버전을 사용해야 하는 이유가 없으면 최신 버전 번호의 플러그인을 사용하십시오.
  4. 다음 명령을 입력하여 프로그램을 호출하십시오.
    java -classpath fda7.jar com.ibm.javart.security.PasswordEncrypter
    프로그램이 Enter text to encrypt: 프롬프트를 표시합니다.
  5. 비밀번호를 입력하고 Enter를 누르십시오. 프로그램이 crypto: 접두부로 시작하는 암호화된 문자열을 리턴합니다.
  6. 일반적으로 비밀번호를 하드 코딩하는 위치로 crypto: 접두부를 포함하여 리턴된 전체 문자열을 복사하십시오.
  7. 변경된 파일을 저장하고 프로젝트를 재생성하십시오.