securityUtility 명령
이 securityUtility 명령어는 일반 텍스트 암호화, SSL 인증서 생성, Liberty 용 LTPA 키 생성을 지원합니다. 25.0.0.12 버전부터, securityUtility 명령어는 Liberty 용 FIPS 140-3 구성을 지원합니다.
버전 21.0.0.11 이상의 securityUtility 명령에 대한 문서는 Open Liberty 웹 사이트에서 사용 가능합니다.
구문
명령 구문은 다음과 같습니다.
securityUtility task [options]
여기서 options는 task의 값에 따라 다릅니다.
다른 운영 체제와 명령행 환경은 일부 문자를 다르게 처리합니다. 많은 환경에서 특수 문자 및 해당 문자의 작동 방법을 재정의할 수 있습니다.
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"일부 운영 체제의 경우 도구에 전달되는 인수 양 옆에 작은따옴표 표시를 사용해야 할 수도 있습니다.
터미널 에뮬레이터를 사용하는 경우 세션이 서버와 같은 코드 페이지를 사용하도록 구성되어 있는지 확인하십시오.
예상치 못한 결과를 경험하면 특수 문자 및 코드 페이지에 대한 운영 체제, 명령 쉘, 터미널 에뮬레이터 문서를 참조하십시오.
매개변수
securityUtility 명령에
대해 다음 태스크가 사용 가능합니다.- 도움
- 지정된 태스크에 대한 도움말 정보를 인쇄합니다.
generateAESKey
암호화 키를 Base64-encodedAES-256 생성합니다. 생성된 키는 Liberty 구성 파일에서 변수를 wlp.aes.encryption.key 정의하여 사용할 수 있습니다.
옵션은 다음과 같습니다.
- --createConfigFile=name
- 변수에 wlp.aes.encryption.key 생성된 AES 키를 포함하는 XML 구성 파일을 생성합니다. 이 옵션이 제공되지 않으면 키가 콘솔에 출력됩니다.
- --key=password
- 제공된 암호문구를 사용하여 Liberty 의 내부 키 유도 함수를 통해 키를 Base64-encodedAES-256 유도합니다. 이 옵션이 지정되지 않으면 임의의 AES-256 키가 생성됩니다.
- encode
- Base-64를 사용하여 제공된 텍스트를 인코딩하십시오. 옵션이 지정되지 않은 경우에는 명령이 대화식 모드에 들어갑니다. 그렇지 않으면 제공된 텍스트가 인코드됩니다. 공백이 있는 텍스트는 따옴표 안에 넣어야 합니다.옵션은 다음과 같습니다.
- --encoding=encoding_type
비밀번호를 인코딩하는 방법을 지정합니다. 지원되는 인코딩은
xor,aes및hash입니다. 기본값은xor입니다.해당
aes유형은 암호화를 AES-256 사용합니다.25.0.0.1 과 그 이전 버전에서는
aes유형이 AES-128 암호화를 사용합니다.'
hash인코딩 옵션을 사용하여 기본 사용자 레지스트리 및 'quickStartSecurity요소의 비밀번호를 인코딩할 수 있습니다.FIPS 140-3이 활성화된 경우, 및
hashaes옵션 모두 문자열을 암호화하고 인코딩하기 위해 향상된 알고리즘을 사용합니다. 알고리즘이 개선되기 전에 이러한 옵션으로 암호화 또는 인코딩된 문자열은 FIPS 140-3 환경에서 실패할 수 있습니다.- --key=encryption_key
- AES 암호화를 사용하여 인코드할 때 사용할 키를 지정합니다. 이 문자열은 해시 처리되어 암호를 암호화 및 복호화하는 데 사용되는 AES 암호화 키를 생성합니다. 키는 해당 값이 키인
변수
wlp.password.encryption.key를 정의하여 서버에 키를 제공할 수 있습니다. 이 옵션이 제공되지 않은 경우, 기본 키가 사용됩니다.wlp.password.encryption.key에 대한 변수 설정 에 대한 정보도 참조하십시오. --base64Key=base64_key
- AES 암호화를 사용하여 비밀번호를 인코딩할 키를 Base64-encodedAES-256 지정합니다. 변수를 wlp.aes.encryption.key 정의함으로써 키를 서버에 제공할 수 있습니다. 이 옵션은 또는
--key--aesConfigFile옵션과 함께 사용할 수 없습니다. --aesConfigFile=file
- XML 또는 Java 속성 파일을 지정하여 또는 wlp.aes.encryption.key wlp.password.encryption.key 변수를 정의합니다. 두 변수가 동일한 파일에 동시에 존재할 수 없습니다. 이 옵션은 또는
--key--base64Key옵션과 함께 사용할 수 없습니다.
중요: 25.0.0.12 부터,
securityUtility encode명령어는 Base64-encoded AES-256 암호화 방식을 지원합니다. 이것은 옵션--key(option)을 통해 암호문구를 사용하여 키를 도출하는 기존 AES 지원을 보완합니다. 사전 생성된 Base64-encoded 키를 사용하려면 옵션을--base64Key지정하거나 옵션을--aesConfigFile사용하여 를 정의하는 파일을wlp.aes.encryption.key참조하십시오.- --listCustom
- 사용자 정의 비밀번호 암호화 정보를 JSON ( JavaScript Object Notation) 형식으로 표시합니다. 정보는 다음 내용으로 구성됩니다.
- name: 사용자 정의 비밀번호 암호화 알고리즘 이름.
- featurename: 기능 이름.
- description: 사용자 정의 비밀번호 암호화에 대한 설명.
사용자 지정 암호 암호화에 대한 자세한 내용은 ' customPasswordEncryption 공급자 개발'을 참조하십시오.
- --notrim
- 지정된 텍스트의 시작 및 끝 부분에서 공백 문자가 제거되는지 여부를 지정합니다. 이 옵션이 지정되면 제공된 텍스트가 있는 그대로 인코드됩니다. 이 옵션이 지정되지 않으면 지정된 텍스트의 시작 및 끝 부분에 있는 공백 문자가 제거됩니다.
- text
- 인코드될 텍스트입니다.
- createSSLCertificate
- 서버 또는 클라이언트 구성에서 사용할 SSL 인증서를 포함한
기본 키 저장소를 작성합니다.
- 키 저장소 세부사항:
- 위치: 서버 또는 클라이언트 디렉토리의 resource/security/key.p12 파일.
- 인증서 세부사항:
- 유형: 자체 서명된 인증서입니다.
옵션은 다음과 같습니다.
- --server=name
- 키 저장소 및 인증서가 작성되는 Liberty 서버의 이름을 지정합니다.
--client옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다. - --client=name
- 키 저장소 및 인증서가 작성되는 Liberty 클라이언트의 이름을 지정합니다.
--server옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다. - --keyType=keystore type
- 생성할 키 저장소 유형을 지정합니다. JKS 키스토어를 생성하려면 옵션을
--keyType값으로 지정하십시오JKS. 기본적으로 PKCS12 키 저장소가 생성됩니다. 그러나 PKCS12 키스토어 생성을 명시적으로 지정하려면 옵션을--keyType값으로 지정하십시오PKCS12.PKCS12 키 저장소는 JKS 키 저장소에 비해 많은 장점을 갖고 있습니다. PKCS12 키 저장소가 더 확장 가능하고, 더 강력한 암호화 알고리즘을 지원하며 광범위하게 채택됩니다. PKCS12 형식은 주로 인증 기관이 인증서를 발행할 때 제공하는 형식입니다.
- --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를 요구할 수 있습니다.
- --extInfo
- 기본 인증서를 작성하기 위해 사용하는 X.509 인증서 확장 정보를
지정합니다. 인증서에는 기본적으로 제목 대체 이름 확장이 서버의 호스트 이름으로
추가되어 있습니다.
--extInfo옵션이 사용된 경우 해당 값이 직접 keytool 명령으로 전달됩니다. 명령어에서 keytool--ext플래그의 구문을 사용하십시오. --passwordBase64Key=base64_key
- 키스토어 암호화 시 사용되는 키를 Base64-encodedAES-256
--passwordEncoding=aes지정합니다. 이 옵션은 또는--passwordKey--aesConfigFile옵션과 함께 사용할 수 없습니다. --aesConfigFile=file
- 암호화 암호화에 사용할 AES 키를 정의하는 XML 또는 Java 속성 파일을 지정합니다. 파일에는 또는 wlp.aes.encryption.key 변수 wlp.password.encryption.key 중 하나가 반드시 포함되어야 합니다. 이 옵션은 또는
--passwordKey--passwordBase64Key옵션과 함께 사용할 수 없습니다.
- createLTPAKeys
서버에서 사용하거나 여러 서버와 공유할 수 있는 LTPA 키 집합을 만듭니다. 서버나 파일을 지정하지 않으면 현재 작업 디렉터리에
ltpa.keys파일이 만들어집니다.옵션은 다음과 같습니다.
- --file=name
- LTPA 키를 작성할 파일입니다.
--server옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다. - --passwordEncoding=password_encoding_type
- server.xml 파일에서 LTPA 키 비밀번호를 인코딩하는 방법을 지정합니다. 지원되는 인코딩 유형은
xor및aes입니다. 이 옵션을 지정하지 않으면 기본 인코딩 유형인xor이 사용됩니다.securityUtility encode --listCustom명령을 사용하여 추가 사용자 지정 암호화가 지원되는지 확인할 수 있습니다. - --passwordKey=password_encryption_key
- AES 암호화로 LTPA 키 비밀번호를 인코딩하는 데 사용할 키를 지정합니다. 이 문자열은 비밀번호를 암호화하고 복호화하는데 사용되는
암호화 키를 생성하기 위해 해시됩니다.
wlp.password.encryption.key변수를 키 값으로 정의하여 키를 제공할 수 있습니다. 이 옵션을 지정하지 않으면 기본 키가 사용됩니다. - --server=name
- LTPA 키가 생성되는 Liberty 서버의 이름을 지정합니다.
--file옵션이 지정된 경우에는 이 옵션을 사용할 수 없습니다. --passwordBase64Key=base64_key
- 이
--passwordEncoding=aes옵션이 사용될 때 LTPA 키 암호를 암호화하는 데 사용할 Base64-encodedAES-256 키를 지정합니다. 이 옵션은 또는--passwordKey--aesConfigFile옵션과 함께 사용할 수 없습니다. --aesConfigFile=file
- LTPA 키 암호를 인코딩하는 데 사용되는 AES 키를 정의하는 XML 또는 Java 속성 파일을 지정합니다. 파일에는 또는 중 wlp.password.encryption.key 하나가 wlp.aes.encryption.key 포함되어야 합니다. 이 옵션은 또는
--passwordKey--passwordBase64Key옵션과 함께 사용할 수 없습니다.
configureFIPS
모든 서버, 클라이언트 및 도구에 대해 FIPS 140-3을 구성합니다.
옵션은 다음과 같습니다.
- --server=server_name
- 지정된 서버에서 FIPS 140-3을 구성합니다.
- --client=client_name
- 지정된 클라이언트에서 FIPS 140-3을 구성합니다.
- --customProfileFile=name
- 지정된 이름이나 지정된 위치에 사용자 정의 프로필 파일을 생성합니다 IBMSemeru Runtime. 사용자 지정 프로필 파일의 기본 이름은. FIPS140-3-Liberty-Application.properties입니다.
- 이 옵션이 지정되지 않은 경우 사용자 정의 프로필 파일은 Liberty 설치 /etc 디렉토리의 에 위치합니다.
- 이 옵션이 제공되지 않고 옵션이
--server사용된 경우, 사용자 정의 프로필 파일은 지정된 서버의 /security 디렉토리에 위치합니다. - 이 옵션이 제공되지 않고
--client옵션이 사용된 경우, 사용자 지정 프로필 파일은 지정된 클라이언트의 /security 디렉터리에 위치합니다.
- --disable
- 개별적으로 구성되지 않은 모든 서버 및 클라이언트에서 FIPS 140-3을 비활성화합니다. FIPS 140-3을 비활성화하려면 옵션과
--server함께 및--client옵션을--disable사용하여 각각 지정된 서버 및 클라이언트에서 해당 기능을 해제하십시오.
사용법
다음 예제는 올바른 구문을 보여줍니다.
securityUtility encode --encoding=aes --base64Key=<your_base64_key> GiveMeLiberty
securityUtility createSSLCertificate --password=<your_password> \
--passwordEncoding=aes \
--passwordBase64Key=<your_base64_key> \
--server=myserver \
--validity=365 \
--subject=CN=mycompany,O=myOrg,C=myCountry
securityUtility createLTPAKeys --password=<your_password> \
--passwordEncoding=aes \
--passwordBase64Key=<your_base64_key> \
--file=myLTPA.keys
securityUtility configureFIPS --server=myserver
securityUtility help createSSLCertificate