securityUtility 명령
securityUtility 명령은 Liberty의 일반 텍스트 암호화 및 SSL 인증서 작성을 지원합니다.
구문
명령 구문은 다음과 같습니다.
securityUtility task [options]
여기서 options는 task의 값에 따라 다릅니다.
매개변수
securityUtility 명령에
대해 다음 태스크가 사용 가능합니다.
- encode
- Base-64를 사용하여 제공된 텍스트를 인코딩하십시오. 옵션이 지정되지 않은 경우에는 명령이 대화식 모드에 들어갑니다.
그렇지 않으면 제공된 텍스트가 인코드됩니다.
공백이 있는 텍스트는 따옴표 안에 넣어야 합니다. 옵션은 다음과 같습니다.
- --encoding=encoding_type
- 비밀번호를 인코딩하는 방법을 지정합니다. 지원되는 인코딩은 xor, aes 및
hash입니다. 이 옵션이
제공되지 않는 경우에는 기본 인코딩, xor이 사용됩니다. 참고: hash 인코딩 옵션은 기본 사용자 레지스트리에 대해 비밀번호를 인코딩하는 데 사용됩니다.
- --key=encryption_key
- AES 암호화를 사용하여 인코딩할 때 사용할 키를 지정합니다. 이 문자열은 비밀번호를 암호화하고 복호화하는데 사용되는 암호화 키를 생성하기 위해 해시됩니다. 키는 해당 값이 키인 변수 wlp.password.encryption.key를 정의하여 서버에 키를 제공할 수 있습니다. 이 옵션이 제공되지 않은 경우, 기본 키가 사용됩니다.
- --listCustom
- 사용자 정의 비밀번호 암호화의 정보를
JSON(JavaScript Object Notation) 형식으로 표시합니다.
정보는 다음 내용으로 구성됩니다.
- name: 사용자 정의 비밀번호 암호화 알고리즘 이름.
- featurename: 기능 이름.
- description: 사용자 정의 비밀번호 암호화에 대한 설명.
- --notrim
- 지정된 텍스트의 시작 및 끝 부분에서 공백 문자가 제거되는지 여부를 지정합니다. 이 옵션이 지정되면 제공된 텍스트가 있는 그대로 인코딩됩니다. 이 옵션이 지정되지 않으면 지정된 텍스트의 시작 및 끝 부분에 있는 공백 문자가 제거됩니다.
- text
- 인코딩될 텍스트입니다.
- createSSLCertificate
- 서버 또는 클라이언트 구성에서 사용할 SSL 인증서를 포함한
기본 키 저장소를 작성합니다.
- 키 저장소 세부사항:
- 위치: 서버 또는 클라이언트의 디렉토리에서 resource/security/key.jks 아래
- 유형: JKS
- 비밀번호: --password 옵션과 함께 제공되는 비밀번호입니다. 비밀번호는 키 저장소 파일을 열고 키 저장소 파일에서 키를 검색하기 위해 필요합니다.
- 인증서 세부사항:
- 유형: 자체 서명된 인증서입니다.
- 크기: 기본값은 2048입니다(--keySize 옵션으로 대체 크기를 지정할 수 있음).
- 서명 알고리즘: SHA256withRSA(--sigAlg 옵션으로 사용자 정의될 수 있음).
- 유효성: 기본값은 365일입니다(--validity 옵션을 사용하여 사용자 정의할 수 있음).
- SubjectDN: 기본값은 CN=<hostname>,OU=<client or server name>,O=ibm,C=us입니다(--subject 옵션을 사용하여 사용자 정의할 수 있음).
옵션은 다음과 같습니다.
- --server=name
- 키 저장소 및 인증서가 작성되는 Liberty 서버의 이름을 지정합니다. --client 옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다.
- --client=name
- 키 저장소 및 인증서가 작성되는 Liberty 클라이언트의 이름을 지정합니다. --server 옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다.
- --keySize=size
- 인증서 키 비트 크기를 지정합니다. 기본값은 2048입니다.
- --password=password
- 키 저장소에서 사용할 비밀번호를 지정합니다. 이 값은 최소 6자 이상이어야 합니다. 이 옵션은 필수입니다.
- --passwordEncoding=password_encoding_type
- 키 저장소 비밀번호를 인코딩하는 방법을 지정합니다. 지원되는 인코딩 값은 xor 또는 aes입니다. 이 옵션이 제공되지 않는 경우에는 기본값인 xor이 사용됩니다.
- --passwordkey=password_encryption_key
- AES 암호화를 사용하여 키 저장소 비밀번호를 인코딩하는 데 사용할 키를 지정합니다. 이 문자열은 비밀번호를 암호화하고 복호화하는데 사용되는 암호화 키를 생성하기 위해 해시됩니다. 키는 해당 값이 키인 변수 wlp.password.encryption.key를 정의하여 서버에 키를 제공할 수 있습니다. 이 옵션이 제공되지 않은 경우, 기본 키가 사용됩니다.
- --validity=days
- 인증서의 유효 기간(일)을 지정합니다. 이 값은 365 이상이어야 합니다. 이 옵션이 제공되지 않는 경우에는 기본값인 365가 사용됩니다.
- --subject=DN
- 인증서 주제 및 발행자에 대한 식별 이름(DN)을 지정합니다. 이 옵션이 제공되지 않은 경우에는 기본값인 CN=<hostname>,OU=<server or client name>,O=ibm,C=us가 사용됩니다. CN 값은 시스템의 로컬 호스트 이름을 가져오기 위한 Java 메소드를 사용하여 검색됩니다. 호스트 이름을 해석할 수 없으면 IP 주소가 리턴됩니다.
- --sigAlg
- 자체 서명된 인증서를 서명하는 데 사용되는 서명 알고리즘을 지정합니다. 지원되는 서명 알고리즘은 기본 JRE에서 지원하는 내용에 따라 다릅니다. 보다 강력한 서명 알고리즘은 제한 없는 정책 파일이 제 위치에 있는 JRE를 요구할 수 있습니다.
- 명령은 SHA256withRSA(기본값), SHA1withRSA, SHA384withRSA,
SHA512withRSA, SHA1withECDSA, SHA256withECDSA, SHA384withECDSA 및
SHA512withECDSA를 허용합니다. RSA으로 끝나는 서명 알고리즘은
RSA 키로 인증서를 작성하며 ECDSA로 끝나는 서명 알고리즘은
EC(Elliptical Curve) 키로 인증서를 작성합니다.참고: EC 키로 작성된 인증서를 사용 중인 경우, 서버는 EC 암호를 포함할 수 있도록 ssl 구성의 사용자 정의된 암호 목록을 필요로 합니다.
- help
- 지정된 태스크에 대한 도움말 정보를 인쇄합니다.
사용법
다음 예제는 올바른 구문에 대해 설명합니다.
securityUtility encode --encoding=aes GiveMeLiberty
securityUtility createSSLCertificate --server=myserver --password=mypassword --validity=365
--subject=CN=mycompany,O=myOrg,C=myCountry
securityUtility help createSSLCertificate
경고:
서로 다른 운영 체제는 일부 문자를
다르게 처리합니다. Windows 환경의 경우에는
입력 문자열에 !가 포함되어 있으면 ^ 문자로
이를 이스케이프해야 합니다. 예를 들어,
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"