securityUtility, mandato
El securityUtility comando admite el cifrado de texto sin formato, la creación de certificados SSL es y la creación de claves LTPA para Liberty. A partir de la versión 25.0.0.12, el securityUtility comando admite la configuración de FIPS 140-3 para Liberty.
La documentación del mandato securityUtility en la versión 21.0.0.11 y posteriores está disponible en el sitio web de Open Liberty.
Sintaxis
La sintaxis del mandato es la siguiente:
securityUtility task [options]
Donde options son diferentes en función del valor de task.
Los distintos sistemas operativos y entornos de línea de mandatos tratan de forma distinta algunos caracteres. En muchos entornos, puede redefinir qué caracteres son especiales y cómo se comportan.
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"En algunos sistemas operativos, es posible que tenga que utilizar comillas simples alrededor de los argumentos que se pasan a la herramienta.
Si utiliza un emulador de terminal, asegúrese de que la sesión esté configurada para utilizar la misma página de códigos que el servidor.
Consulte en la documentación del sistema operativo, el shell de mandatos y el emulador de terminal la información sobre caracteres especiales y las páginas de códigos, si tiene resultados inesperados.
Parámetros
securityUtility:- ayuda
- Imprime información de ayuda para la tarea especificada.
generateAESKey
Genera una Base64-encodedAES-256 clave para el cifrado de contraseñas. La clave generada se puede utilizar definiendo la wlp.aes.encryption.key variable en un archivo de configuración Liberty.
Las opciones son las siguientes:
- --createConfigFile=name
- Crea un archivo de configuración XML que contiene la clave AES generada en la wlp.aes.encryption.key variable. Si no se proporciona esta opción, la clave se imprime en la consola.
- --key=password
- Deriva una Base64-encodedAES-256 clave a partir de la frase de contraseña proporcionada utilizando la función interna de derivación de claves de Liberty. Si no se especifica esta opción, se genera una clave AES-256 aleatoria.
- encode
- Codifica el texto proporcionado utilizando Base64. Si no se especifican opciones, el mandato entra en modalidad interactiva. De
lo contrario, se codifica el texto proporcionado. El texto con
espacios se debe exponer entre comillas.Las opciones son las siguientes:
- --encoding=encoding_type
Especifica cómo codificar la contraseña. Las codificaciones admitidas son
xor,aesyhash. El valor predeterminado esxor.El
aestipo utiliza AES-256 cifrado.En la versión 25.0.0.1 y anteriores, el tipo
aesutiliza cifrado AES-128.Puede utilizar la opción de codificación "
hash" para codificar las contraseñas del registro de usuario básico y el elemento "quickStartSecurity".Cuando FIPS 140-3 está habilitado, las opciones
aeshashy utilizan algoritmos mejorados para cifrar y codificar cadenas. Las cadenas que se cifraron o codificaron con estas opciones antes de que se mejoraran los algoritmos podrían fallar en entornos FIPS 140-3.- --key=encryption_key
- Especifica la clave que debe utilizarse cuando se codifica mediante el cifrado AES. Esta cadena se somete a un proceso de hash para generar la clave de cifrado AES que se utiliza para cifrar y descifrar la contraseña. La clave se puede proporcionar al servidor
definiendo la variable
wlp.password.encryption.keycuyo valor es la clave. Si no se proporciona esta opción, se utiliza una clave predeterminada.Consulte también información sobre establecimiento de la variable para
wlp.password.encryption.key. --base64Key=base64_key
- Especifica una Base64-encodedAES-256 clave para codificar la contraseña mediante el cifrado AES. La clave se puede proporcionar al servidor definiendo la wlp.aes.encryption.key variable. Esta opción no se puede utilizar con las opciones
--aesConfigFile--keyo. --aesConfigFile=file
- Especifica un archivo XML o Java Properties que define la variable wlp.password.encryption.key wlp.aes.encryption.key o. Ambas variables no pueden estar presentes en el mismo archivo. Esta opción no se puede utilizar con las opciones
--base64Key--keyo.
Importante: A partir de 25.0.0.12, el
securityUtility encodecomando admite el cifrado de contraseñas Base64-encoded AES-256. Esto complementa el soporte AES existente que utiliza una frase de contraseña para derivar una clave a través de la--keyopción. Para utilizar una clave Base64-encoded pregenerada, especifique la--base64Keyopción o utilice la--aesConfigFileopción para hacer referencia a un archivo que definawlp.aes.encryption.key.- --listCustom
- Visualizar la información del cifrado de contraseña personalizado en formato JavaScript Object Notation (JSON). La información consta de:
- name: El nombre de algoritmo del cifrado de contraseña personalizado.
- featurename: El nombre de característica.
- description: La descripción del cifrado de contraseña personalizado.
Para obtener más información sobre el cifrado de contraseñas personalizadas, consulte Desarrollo de un proveedor de customPasswordEncryption.
- --notrim
- Especifique si los caracteres de espacio se eliminan del principio y el final del texto especificado. Si se especifica esta opción, el texto proporcionado se codificará tal como está. Si no se especifica esta opción, se eliminan los caracteres de espacio del principio y el final del texto especificado.
- text
- El texto que se ha de codificar.
- createSSLCertificate
- Crea un almacén de claves predeterminado que incluye un certificado SSL para su uso en una
configuración de servidor o cliente.
- Detalles del almacén de claves:
- location: En el archivo resource/security/key.p12 del servidor o directorio de cliente.
- Detalles del certificado:
- tipo: certificado firmado automáticamente.
Las opciones son las siguientes:
- --server=name
- Especifica el nombre del servidor de Liberty para el que se crea el almacén de claves y el certificado. Esta opción no puede utilizarse si se especifica la opción
--client. - --client=name
- Especifica el nombre del cliente de Liberty para el que se crea el almacén de claves y el certificado. Esta opción no puede utilizarse si se especifica la opción
--server. - --keyType=keystore type
- Especifica el tipo de almacén de claves que se va a generar. Para generar un almacén de claves JKS, especifique la
--keyTypeopción con el valorJKS. De forma predeterminada, se genera un almacén de claves PKCS12. Sin embargo, para especificar explícitamente la generación de un PKCS12 almacén de claves, especifique la--keyTypeopción con el valor dePKCS12.Un almacén de claves PKCS12 tiene varias ventajas respecto a un almacén de claves JKS. El almacén de claves PKCS12 es más extensible, da soporte a algoritmos criptográficos más fuertes y es ampliamente adoptado. El formato PKCS12 es con frecuencia el formato que proporcionan las entidades emisoras de certificados cuando emiten certificados.
- --keySize=size
- Especifica el tamaño en bits de la clave del certificado. El valor predeterminado es
2048. - --password=password
- Especifica la contraseña que se va a utilizar en el almacén de claves, que debe tener al menos seis caracteres de longitud. Esta opción es obligatoria.
- --passwordEncoding=password_encoding_type
- Especifica cómo codificar la contraseña de almacén de claves. El valor de codificación soportado es
xoroaes. Si no se proporciona esta opción, se utilizará un valor predeterminado dexor. - --passwordKey=password_encryption_key
- Especifica la clave que se debe utilizar para codificar la contraseña del almacén de claves utilizando el cifrado AES. Se aplica el algoritmo hash a esta serie para producir una clave de cifrado que se utiliza para cifrar y descifrar la contraseña. La clave se puede proporcionar al servidor definiendo la variable wlp.password.encryption.key cuyo valor es la clave. Si no se proporciona esta opción, se utiliza una clave predeterminada.
- --validity=days
- Especifica el número de días que el certificado es válido, el cual debe ser igual o mayor que 365. Si no se proporciona esta opción, se utilizará un valor predeterminado de 365.
- --subject=DN
- Especifica el nombre distinguido (DN) del sujeto y emisor del certificado. Si no se proporciona esta opción, se utiliza un valor predeterminado de
CN=<hostname>,OU=<server or client name>,O=ibm,C=us. El valorCNse recupera utilizando un método java para obtener el nombre de host local de la máquina. Si no puede resolverse el nombre de host, se devuelve la dirección IP. - --sigAlg
- Especifique el algoritmo de firma que se utiliza para firmar el certificado autofirmado. El algoritmo de firma soportado depende de a qué dé soporte el JRE subyacente. Es posible que los algoritmos de firma más fuertes requieran que el JRE tenga aplicado un archivo de política sin restricciones.
- --extInfo
- Especifica cualquier información de extensión de certificado X.509 que utiliza para
crear el certificado predeterminado. De forma predeterminada, la extensión de nombre alternativo de asunto
se añade al certificado con el nombre de host del servidor. Si se utiliza la opción
--extInfo, el valor se pasa directamente al mandato keytool. Utilice la sintaxis del distintivo--exten el mandato keytool. --passwordBase64Key=base64_key
- Especifica una Base64-encodedAES-256 clave que se utiliza para cifrar la contraseña del almacén de claves cuando se especifica la
--passwordEncoding=aesopción. Esta opción no se puede utilizar con las opciones--aesConfigFile--passwordKeyo. --aesConfigFile=file
- Especifica un archivo XML o Java Properties que define la clave AES que se utilizará para el cifrado de contraseñas. El archivo debe contener la variable wlp.password.encryption.key wlp.aes.encryption.key o. Esta opción no se puede utilizar con las opciones
--passwordBase64Key--passwordKeyo.
- createLTPAKeys
Crea un conjunto de claves LTPA para uso del servidor, o que pueden ser compartidas con múltiples servidores. Si no se especifica ningún servidor o archivo, se crea un archivo
ltpa.keysen el directorio de trabajo actual.Las opciones son las siguientes:
- --file=name
- El fichero en el que escribir las claves LTPA. Esta opción no puede utilizarse si se especifica la opción
--server. - --passwordEncoding=password_encoding_type
- Especifica cómo codificar la contraseña de las claves LTPA en el archivo server.xml . Los tipos de codificación admitidos son
xoryaes. Si no se especifica esta opción, se utiliza por defecto el tipo de codificaciónxor.Puedes utilizar el comando
securityUtility encode --listCustompara ver si se admiten encriptaciones personalizadas adicionales. - --passwordKey=password_encryption_key
- Especifica la clave que se utilizará para codificar una contraseña de claves LTPA con cifrado AES. Se aplica el algoritmo hash a esta serie para producir una clave de cifrado que se utiliza
para cifrar y descifrar la contraseña. Puede proporcionar la clave definiendo la variable
wlp.password.encryption.keycomo valor clave. Si no se especifica esta opción, se utiliza una clave por defecto. - --server=name
- Especifica el nombre del servidor Liberty para el que se crean las claves LTPA. Esta opción no puede utilizarse si se especifica la opción
--file. --passwordBase64Key=base64_key
- Especifica una Base64-encodedAES-256 clave para cifrar la contraseña de las claves LTPA cuando se utiliza la
--passwordEncoding=aesopción. Esta opción no se puede utilizar con las opciones--aesConfigFile--passwordKeyo. --aesConfigFile=file
- Especifica un archivo de propiedades XML o Java que define la clave AES utilizada para codificar la contraseña de las claves LTPA. El archivo debe contener wlp.password.encryption.key o wlp.aes.encryption.key. Esta opción no se puede utilizar con las opciones
--passwordBase64Key--passwordKeyo.
configureFIPS
Configura FIPS 140-3 en todos los servidores, clientes y herramientas.
Las opciones son las siguientes:
- --server=server_name
- Configura FIPS 140-3 en un servidor específico.
- --client=client_name
- Configura FIPS 140-3 en un cliente específico.
- --customProfileFile=name
- Para IBM Semeru Runtime, crea un archivo de perfil personalizado con un nombre específico o en una ubicación específica. El nombre predeterminado del archivo de perfil personalizado es FIPS140-3-Liberty-Application.properties.
- Si no se proporciona esta opción, el archivo de perfil personalizado se encuentra en el /etc directorio de su instalación de Liberty.
- Si no se proporciona esta opción y se utiliza la
--serveropción, el archivo de perfil personalizado se encuentra en el /security directorio del servidor especificado. - Si no se proporciona esta opción y se utiliza la
--clientopción, el archivo de perfil personalizado se encuentra en el /security directorio del cliente especificado.
- --disable
- Desactiva FIPS 140-3 en todos los servidores y clientes que no se hayan configurado individualmente. Utilice las opciones
--server--clienty con la--disableopción para desactivar FIPS 140-3 en los servidores y clientes especificados, respectivamente.
Uso
Los siguientes ejemplos muestran la sintaxis correcta:
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