FIPSCommands command group for the AdminTask object
You can use the Jython or Jacl scripting languages to configure Federal Information Processing Standards (FIPS) with the wsadmin tool.
enableFips
The enableFips command enables or disables a specified security level.Target object
None.
Required parameters
- -enableFips
- If this flag is set to
true
, FIPS is enabled at the security level specified by other parameters . If the flag is set tofalse
, FIPS is disabled and other parameters are ignored. The value of this parameter is set to com.ibm.security.useFIPS security custom property. (Boolean required)
Optional parameters
- -fipsLevel
- Specifies the level of the security standard to use. (String, optional). There is no default
value. Valid values include:
- FIPS140-2
- If this value is set, the system is configured to comply with Fips 140-2 mode.
- transition
- If this value is set, the system is configured to comply with SP800-131 transition mode.
- SP800-131
- If this value is set, the system is configured to comply with SP800-131 strict mode.
The value provided is set on the com.ibm.websphere.security.FIPSLevel security custom property.
Either fipsLevel or suiteBLevel must be specified.
- -suiteBLevel
- Specifies the level of the suiteBLevel. There is no default value. The value provided is set on
the com.ibm.websphere.security.suiteb security custom property. (String, optional)Valid values are:
- 128 – if this value is set, system is configured to comply with Suite B 128.
- 192 - if this value is set, system is configured to comply with Suite B 192.
- -protocol
- Sets the protocol for the Secure Sockets Layer (SSL) configuration. This parameter is used only when the -fipsLevel flag is set to transition. For other fipsLevels, SSL protocol is already defined by specification. Valid values for transition are: TLS, TLSv1.1 and TLSv1.2 . Note that the administrative console only shows TLS and TLSv1.2 as valid values. TLS1.1 can be specified on a command line. (String, optional)
Return values:
True
(success) or
false
(fail). If false, a reason for the failure is logged in the System.Out.log.
Examples
- Using Jacl string:
$AdminTask enableFips {-enableFips true -fipsLevel transition } true
getFipsInfo
The getFipsInfo command returns an attributeList with the FIPS setting. The settings are fipsEnabled, fipsLevel and suiteBLevel.
Target object
None.Required parameters
None.
Return value:
The getFipsInfo command returns an attributeList with the FIPS setting. For example:If FIPS is disabled, then fipsLevel and suiteBLevel are empty strings. For example:Security mode | Return values from getFipsInfo |
---|---|
Fips not enabled |
fipsEnabled=false
fipsLevel=(empty string) suiteBLevel=(empty string) |
FIPS140-2 |
ipsEnabled=true
fipsLevel=FIPS140-2 suiteBLevel=(empty string) |
SP800-131 - Transition |
fipsEnabled=true
fipsLevel=transition suiteBLevel=(empty string) |
SP800-131 - Strict |
fipsEnabled=true
fipsLevel=SP800-131 suiteBLevel=(empty string) |
Suite B 128 |
fipsEnabled=true
fipsLevel=(empty string) suiteBLevel=128 |
Suite B 192 |
fipsEnabled=true
fipsLevel=(empty string) suiteBLevel=192 |
Examples
- Using
Jacl:
$AdminTask getFipsInfo {fipsEnabled true} {fipsLevel SP800-131} {suiteBLevel {}}
listCertStatusForSecurityStandard
The listCertStatusForSecurityStandard command returns all certificates used by SSL configuration and plug-ins, and states whether they comply with the requested security level.
Target object
None.Required parameters
None.Optional parameters
- -suiteBLevel
- Enables or disables FIPS. There is no default value. When the flag is set to
true
, the com.ibm.security.useFips security custom property is set to true. If the flag is set tofalse
, the com.ibm.security.useFips security custom property is set to false and the other flags are ignored. (String, optional) - -fipsLevel
- Specifies the level of the security standard to use. (String, optional). There is no default
value. Valid values include:
- FIPS140-2
- If this value is set, the system is configured to comply with Fips 140-2 mode.
- transition
- If this value is set, the system is configured to comply with SP800-131 transition mode.
- SP800-131
- If this value is set, the system is configured to comply with SP800-131 strict mode.
The value provided is set on the com.ibm.websphere.security.FIPSLevel security custom property.
Either fipsLevel or suiteBLevel must be specified.
- -suiteBLevel
- Specifies the level of the suiteBLevel. There is no default value. The value provided is set on
the com.ibm.websphere.security.suiteb security custom property. (String, optional)Valid values are:
- 128 – if this value is set, system is configured to comply with Suite B 128.
- 192 - if this value is set, system is configured to comply with Suite B 192.
Return value:
An attributeList list that has three keys : CAN_NOT_CONVERT, CAN_CONVERT, and MEET_SECURITY_LEVEL. For each key, a list of attributeList is returned. One attributeList contains certificate information: keystore, managementScope, alias and reason. For example:{conversionStatus=CAN_NOT_CONVERT
certificateInfo = { keystore = <keystore name>
managementScope = <managementScope>
alias = <certificate alias>
reason = <reason why certificate can not be converted>
} ...
{conversionStatus= CAN_CONVERT
certificateInfo = { keystore = <keystore name>
managementScope = <managementScope>
alias = <certificate alias>
reason = empty when certificate can be converted
} ...
{conversionStatus=MEET_SECURITY_LEVEL
certificateInfo = { keystore = <keystore name>
managementScope = <managementScope>
alias = <certificate alias>
reason = empty when certificate already meets security level
Examples
- Using
Jython:
wsadmin>$AdminTask listCertStatusForSecurityStandard {-fipsLevel SP800-131 -suiteBLevel 128 } {CAN_CONVERT {{keystore NodeDefaultKeyStore} {managementScope (cell):testNode 01Cell:(node):testNode01} {alias default} {reason {Current SignatureAlgorithm is SHA256withRSA. SignatureAlgorithm needs to be one of [SHA256withECDSA] to be compliant with SP 800-131 - Suite B 128. }} {keystore NodeDefaultRootStore} {managementScope (cell):testNode01Cell:(node) :testNode01} {alias root} {reason {Current SignatureAlgorithm is SHA256withRS A. SignatureAlgorithm needs to be one of [SHA256withECDSA] to be compliant with SP 800-131 - Suite B 128. }} }} {CAN_NOT_CONVERT {}} {MEET_SECURITY_STANDARD {}}
convertCertForSecurityStandard
The convertCertForSecurityStandard command converts all certificates used by SSL configuration and plug-ins.
Target object
None.Required parameters
None.Optional parameters
- -fipsLevel
- Specifies the level of the security standard to use. (String, optional). There is no default
value. Valid values include:
- FIPS140-2
- If this value is set, the system is configured to comply with Fips 140-2 mode.
- transition
- If this value is set, the system is configured to comply with SP800-131 transition mode.
- SP800-131
- If this value is set, the system is configured to comply with SP800-131 strict mode.
The value provided is set on the com.ibm.websphere.security.FIPSLevel security custom property.
Either fipsLevel or suiteBLevel must be specified.
- -suiteBLevel
- Specifies the level of the suiteBLevel. There is no default value. The value provided is set on
the com.ibm.websphere.security.suiteb security custom property. (String, optional)Valid values are:
- 128 – if this value is set, system is configured to comply with Suite B 128.
- 192 - if this value is set, system is configured to comply with Suite B 192.
- -signatureAlgorithem
- Checks if the signatureAlgorithm is compliant with FipsLevel and suiteB. If compliant, use signatureAlgorithm to convert certificates. If not, use a compliant signatureAlgorithm. (String, required)
- -keySize
- Checks if the keySize is compliant with FipsLevel and suiteB. If compliant, uses the keySize to convert certificates. If not, use the minimum value for the signatureAlgorithm.
Return value:
{conversionStatus=CAN_NOT_CONVERT
certificateInfo = {keystore = <keystore name>
managementScope = <managementScope>
alias = <certificate alias>
reason = <reason why certificate can not be converted>
} ...
{conversionStatus=MEET_SECURITY_STANDARD
certificateInfo = {keystore = <keystore name>
managementScope = <managementScope>
alias = <certificate alias>
reason = empty when certificate meets security standard.
} ...
Examples
- Using
Jacl:
wsadmin> $AdminTask convertCertForSecurityStandard {-fipsLevel FIPS140-2 -signatureAlgorithm SHA256withRSA -keySize 2048 } {CAN_CONVERT {}} {CAN_NOT_CONVERT {}} {MEET_SECURITY_STANDARD {{keystore NodeDef aultRootStore} {managementScope (cell):testNode01Cell:(node):testNode01} { alias root} {reason {}} {keystore NodeDefaultKeyStore} {managementScope (cell):testNode01Cell:(node): testNode01} {alias default} {reason {}} }}