comando securityUtility
O securityUtility comando suporta criptografia de texto simples, criação de certificados SSL e criação de chaves LTPA para Liberty. A partir da versão 25.0.0.12, o securityUtility comando suporta a configuração do FIPS 140-3 para o Liberty.
Documentação para o comando securityUtility na versão 21.0.0.11 e posterior está disponível no website do Open Liberty.
Sintaxe
A sintaxe de comando é a seguinte:
securityUtility task [options]
Em que as options são diferentes com base no valor de task.
Diferentes sistemas operacionais e ambientes de linha de comandos tratam alguns caracteres de forma diferente. Em muitos ambientes, é possível redefinir quais caracteres são especiais e como eles se comportam.
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"Para alguns sistemas operacionais, talvez seja necessário usar aspas simples em torno dos argumentos que são transmitidos para a ferramenta.
Se você usar um emulador de terminal, assegure-se de que sua sessão esteja configurada para usar a mesma página de código que seu servidor.
Consulte o seu sistema operacional, o shell de comando e a documentação do emulador de terminal sobre caracteres e páginas de códigos especiais se você tiver resultados inesperados.
Parâmetros
securityUtility:- ajuda
- Imprime informações da ajuda para uma tarefa especificada.
generateAESKey
Gera uma Base64-encodedAES-256 chave para criptografia de senha. A chave gerada pode ser usada definindo a wlp.aes.encryption.key variável em um arquivo de configuração Liberty.
As opções são:
- --createConfigFile=name
- Cria um arquivo de configuração XML que contém a chave AES gerada na variável wlp.aes.encryption.key. Se essa opção não for fornecida, a chave será impressa no console.
- --key=password
- Deriva uma Base64-encodedAES-256 chave a partir da senha fornecida usando a função interna de derivação de chaves do Liberty. Se essa opção não for especificada, uma chave AES-256 aleatória será gerada.
- codificar
- Codifica o texto fornecido usando Base64. Se nenhuma opção for especificada, o comando entrará
no modo interativo. Caso contrário, o texto fornecido será codificado. O texto com espaços deve ser colocado
entre aspas.As opções são:
- --encoding=encoding_type
Especifica como codificar a senha. As codificações suportadas são
xor,aesehash. O valor padrão éxor.O
aestipo usa AES-256 criptografia.Na versão 25.0.0.1 e anteriores, o tipo
aesusa a criptografia AES-128.Você pode usar a opção de codificação "
hashpara codificar senhas para o registro de usuário básico e o elemento "quickStartSecurity.Quando o FIPS 140-3 está habilitado, as opções
aeshashe usam algoritmos aprimorados para criptografar e codificar strings. As cadeias de caracteres que foram criptografadas ou codificadas com essas opções antes de os algoritmos serem aprimorados podem falhar em ambientes FIPS 140-3.- --key=encryption_key
- Especifica a chave a ser usada quando você codifica usando a criptografia AES. Essa string é hashada para produzir a chave de criptografia AES usada para criptografar e descriptografar a senha. A chave pode ser fornecida
para o servidor definindo a variável
wlp.password.encryption.keycujo valor é a chave. Se essa opção não for fornecida, uma chave padrão será usada.Veja também informações sobre configurando a variável para
wlp.password.encryption.key. --base64Key=base64_key
- Especifica uma Base64-encodedAES-256 chave para codificar a senha usando criptografia AES. A chave pode ser fornecida ao servidor definindo a wlp.aes.encryption.key variável. Esta opção não pode ser usada com as opções
--aesConfigFile--keyou. --aesConfigFile=file
- Especifica um arquivo XML ou Java Properties que define a variável wlp.password.encryption.keywlp.aes.encryption.key ou. Ambas as variáveis não podem estar presentes no mesmo arquivo. Esta opção não pode ser usada com as opções
--base64Key--keyou.
Importante: A partir do 25.0.0.12, o
securityUtility encodecomando suporta a criptografia de senha Base64-encodedAES-256. Isso complementa o suporte AES existente que usa uma senha para derivar uma chave por meio da--keyopção. Para usar uma chave pré-gerada Base64-encoded, especifique a--base64Keyopção ou use a--aesConfigFileopção para referenciar um arquivo que definewlp.aes.encryption.key.- --listCustom
- Exibir as informações da criptografia de senha personalizada em formato JavaScript Object Notation (JSON). As informações consistem em:
- name: o nome do algoritmo de criptografia de senha customizada.
- featurename: o nome do recurso.
- description: a descrição da criptografia de senha customizada.
Para obter mais informações sobre criptografia de senha personalizada, consulte Desenvolvendo um provedor de customPasswordEncryption.
- --notrim
- Especifique se os caracteres de espaço são removidos do início e do término do texto especificado. Se essa opção for especificada, o texto fornecido será codificado no estado em que se encontra. Se essa opção não for especificada, os caracteres de espaço do início e do término do texto especificado serão removidos.
- text
- O texto que deve ser codificado.
- createSSLCertificate
- Cria um keystore padrão que inclui um certificado SSL para uso em uma configuração de servidor
ou cliente.
- Detalhes do keystore:
- local: no arquivo resource/security/key.p12 do diretório do cliente ou do servidor.
- Detalhes do certificado:
- type: certificado autoassinado.
As opções são:
- --server=name
- Especifica o nome do servidor Liberty para o qual o armazenamento de chaves e certificado é criado. Essa opção não poderá ser usada se a
opção
--clientfor especificada. - --client=name
- Especifica o nome do cliente Liberty para o qual o armazenamento de chaves e certificado é criado. Essa opção não poderá ser usada se a
opção
--serverfor especificada. - --keyType=keystore type
- Especifica o tipo de keystore a ser gerado. Para gerar um armazenamento de chaves JKS, especifique a
--keyTypeopção com o valorJKS. Por padrão, um keystore PKCS12 é gerado. No entanto, para especificar explicitamente a geração de um PKCS12 keystore, especifique a--keyTypeopção com o valorPKCS12.Um keystore PKCS12 possui uma série de vantagens sobre um keystore JKS. O keystore PKCS12 é mais extensível, suporta algoritmos criptográficos mais fortes e é amplamente adotado. O formato PKCS12 é frequentemente o formato que as autoridades de certificação fornecem quando emitem certificados.
- --keySize=size
- Especifica o tamanho do bit da chave do certificado. O valor padrão é
2048. - --password=password
- Especifica a senha a ser usada no keystore, que deve ser pelo menos seis caracteres de comprimento. Essa opção é obrigatória.
- --passwordEncoding=password_encoding_type
- Especifica como codificar a senha do keystore. O valor de codificação suportado é
xorouaes. Se essa opção não for fornecida, um valor padrão dexorserá usado. - --passwordKey=password_encryption_key
- Especifica a chave a ser usada para codificar a senha do keystore usando a criptografia AES. Esta sequência é submetida a hash para produzir uma chave de criptografia que é usada para criptografar e decriptografar a senha. A chave pode ser fornecida para o servidor definindo a variável wlp.password.encryption.key cujo valor é a chave. Se essa opção não for fornecida, uma chave padrão será usada.
- --validity=days
- Especifica o número de dias que o certificado é válido, o que deve ser igual ou maior que 365. Se essa opção não for fornecida, um valor padrão de 365 será usado.
- --subject=DN
- Especifica o Nome Distinto (DN) para o assunto do certificado e o emissor. Se essa opção não
for fornecida, um valor padrão de
CN=<hostname>,OU=<server or client name>,O=ibm,C=usserá usado. O valorCNé recuperado usando um método java para obter o nome do host local da máquina. Se o nome do host não puder ser resolvido, o endereço IP será retornado. - --sigAlg
- Especifica o algoritmo de assinatura que é usado para assinar o certificado autoassinado. O algoritmo de assinatura que é suportado depende do que é suportado pelo JRE subjacente. Algoritmos de assinatura mais fortes podem requerer que o JRE tenha o arquivo de políticas sem restrições no lugar.
- --extInfo
- Especifica as informações de extensão de qualquer certificado X.509 utilizado para criar o certificado padrão. Por padrão, a extensão do Nome alternativo do assunto é incluída no certificado com o nome do host do servidor. Se a opção
--extInfofor usada, o valor será passado diretamente para o comando keytool. Use a sintaxe da sinalização--extno comando keytool. --passwordBase64Key=base64_key
- Especifica uma Base64-encodedAES-256 chave usada para criptografar a senha do armazenamento de chaves quando a
--passwordEncoding=aesopção é especificada. Esta opção não pode ser usada com as opções--aesConfigFile--passwordKeyou. --aesConfigFile=file
- Especifica um arquivo XML ou Java Properties que define a chave AES a ser usada para criptografia de senha. O arquivo deve conter a variável wlp.password.encryption.keywlp.aes.encryption.key ou. Esta opção não pode ser usada com as opções
--passwordBase64Key--passwordKeyou.
- createLTPAKeys
Cria um conjunto de chaves LTPA para uso pelo servidor ou que pode ser compartilhado com vários servidores. Se nenhum servidor ou arquivo for especificado, um arquivo
ltpa.keysserá criado no diretório de trabalho atual.As opções são:
- --file=name
- O arquivo no qual escrever as chaves do LTPA. Essa opção não pode ser usada se a opção
--serverfor especificada. - --passwordEncoding=password_encoding_type
- Especifica como codificar a senha das chaves LTPA no arquivo server.xml . Os tipos de codificação compatíveis são
xoreaes. Se essa opção não for especificada, será usado um tipo de codificação padrão dexor.Você pode usar o comando
securityUtility encode --listCustompara verificar se há suporte para outras criptografias personalizadas. - --passwordKey=password_encryption_key
- Especifica a chave a ser usada para codificar uma senha de chaves LTPA com criptografia AES. Esta sequência é submetida a hash para produzir uma chave de criptografia que é usada para criptografar e
decriptografar a senha. Você pode fornecer a chave definindo a variável
wlp.password.encryption.keycomo o valor da chave. Se essa opção não for especificada, será usada uma chave padrão. - --server=name
- Especifica o nome do servidor Liberty para o qual as chaves LTPA são criadas. Essa opção não pode ser usada se a opção
--filefor especificada. --passwordBase64Key=base64_key
- Especifica uma Base64-encodedAES-256 chave para criptografar a senha das chaves LTPA quando a
--passwordEncoding=aesopção é usada. Esta opção não pode ser usada com as opções--aesConfigFile--passwordKeyou. --aesConfigFile=file
- Especifica um arquivo XML ou Java Properties que define a chave AES usada para codificar a senha das chaves LTPA. O arquivo deve conter ou wlp.password.encryption.key wlp.aes.encryption.key. Esta opção não pode ser usada com as opções
--passwordBase64Key--passwordKeyou.
configureFIPS
Configura o FIPS 140-3 em todos os servidores, clientes e ferramentas.
As opções são:
- --server=server_name
- Configura o FIPS 140-3 em um servidor especificado.
- --client=client_name
- Configura o FIPS 140-3 em um cliente especificado.
- --customProfileFile=name
- Para IBMSemeru Runtime, cria um arquivo de perfil personalizado com um nome especificado ou em um local especificado. O nome padrão do arquivo de perfil personalizado é FIPS140-3-Liberty-Application.properties.
- Se essa opção não for fornecida, o arquivo de perfil personalizado estará localizado no diretório /etc da sua instalação do Liberty.
- Se essa opção não for fornecida e a
--serveropção for usada, o arquivo de perfil personalizado será localizado no /security diretório do servidor especificado. - Se essa opção não for fornecida e a
--clientopção for usada, o arquivo de perfil personalizado será localizado no /security diretório do cliente especificado.
- --disable
- Desativa o FIPS 140-3 em todos os servidores e clientes que não foram configurados individualmente. Use as opções
--server--cliente com a--disableopção para desativar o FIPS 140-3 de servidores e clientes especificados, respectivamente.
Uso
Os exemplos a seguir demonstram a sintaxe correta:
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