[JBoss JIRA] (ELY-1998) IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available when configuring BC FIPS on JDK 11
by Farah Juma (Jira)
[ https://issues.redhat.com/browse/ELY-1998?page=com.atlassian.jira.plugin.... ]
Farah Juma edited comment on ELY-1998 at 6/16/20 2:07 PM:
----------------------------------------------------------
[~dvilkola] Not sure if this is the problem or not but one thing to try is updating the {{BouncyCastleJsseProvider}} configuration in the {{java.security}} file to specify {{BCFIPS}} as follows:
{{security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider:BCFIPS}}
Then try adding the following line to the {{java.security}} file that references the BCFIPS provider:
{{securerandom.strongAlgorithms=DEFAULT:BCFIPS}}
was (Author: fjuma):
[~dvilkola] Not sure if this is the problem or not but one thing to try is updating the {{BouncyCastleJsseProvider}} configuration in the {{java.security}} file to specify {{BCFIPS}} as follows:
security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider:BCFIPS
Then try adding the following line to the {{java.security}} file that references the BCFIPS provider:
securerandom.strongAlgorithms=DEFAULT:BCFIPS
> IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available when configuring BC FIPS on JDK 11
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: ELY-1998
> URL: https://issues.redhat.com/browse/ELY-1998
> Project: WildFly Elytron
> Issue Type: Bug
> Components: SSL
> Reporter: Diana Vilkolakova
> Priority: Major
>
> The below steps require ELY-1982 bugfix to work.
> Configure security providers in java.security file:
> {code}
> security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
> security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
> security.provider.3=SUN
> {code}
> Add the bc-fips.jar and bctls-fips-1.0.10.jar to the CLASSPATH and generate keystore in JBOSS_HOME/standalone/configuration folder:
> {code}
> keytool -genkeypair -alias appserver -keyalg RSA -keysize 2048 -keypass password -keystore "fips.keystore" -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath $CLASSPATH -storetype BCFKS -storepass password -dname "CN=testserver,OU=TESTOU,O=TESTO,L=TESTL,ST=TESTCZ,C=TESTCZ" -validity 730 -v
> {code}
> Try to configure `server-ssl-context`:
> {code}
> module add --name=org.bouncycastle.fips --resources=/path/to/bc-fips-1.0.2.jar:/path/to/bctls-fips-1.0.10.jar
> /subsystem=elytron/provider-loader=bc:add(module=org.bouncycastle.fips)
> /subsystem=elytron/key-store=fipsKS:add(path=fips.keystore, relative-to=jboss.server.config.dir, credential-reference={clear-text=password}, type="BCFKS", providers=bc)
> /subsystem=elytron/key-manager=fipsKM:add(key-store=fipsKS, algorithm="X509", credential-reference={clear-text=password}, providers=bc)
> /subsystem=elytron/server-ssl-context=fipsSSC:add(key-manager=fipsKM, protocols=["TLSv1.2"], providers=bc)
> {code}
> The last command results in:
> {code}
> {
> "outcome" => "failed",
> "failure-description" => {"WFLYCTL0080: Failed services" => {"org.wildfly.security.ssl-context.fipsSSC" => "Failed to start service
> Caused by: java.lang.IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available
> Caused by: java.security.NoSuchAlgorithmException: DEFAULT SecureRandom not available"}},
> "rolled-back" => true
> }
> {code}
> The exception is happening [on this line|https://github.com/Skyllarr/wildfly-elytron/blob/ELY-1982/ssl/src/ma...] . This exception can be avoided by either using *new SecureRandom()* instead of null during initialization of sslContext, or by configuring securerandom with using *CryptoServicesRegistrar.setSecureRandom(new SecureRandom());* in code beforehand (this would require bc dependency).
> I tried to configure secure random statically by setting *securerandom.strongAlgorithms=DEFAULT:BCFIPS* in java.security or by trying to pass secure random as parameter to constructor with
> {code}
> security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider "C:DEFRND[SHA512];ENABLE{ALL};"
> {code}
> but neither had any effect. I did not find how to configure this statically for Java 11 in BC documentation.
> We could pass new instance of SecureRandom when initializing sslContext (if bouncycastle is used), or set secureRandom beforehand, or catch this exception and then use `new SecureRandom()`. But should we force the users to use SecureRandom set in the code by us? If users want to use Bouncycastle they should configure the secure random themselves since it is needed by the provider?
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (ELY-1998) IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available when configuring BC FIPS on JDK 11
by Farah Juma (Jira)
[ https://issues.redhat.com/browse/ELY-1998?page=com.atlassian.jira.plugin.... ]
Farah Juma commented on ELY-1998:
---------------------------------
[~dvilkola] Not sure if this is the problem or not but one thing to try is updating the {{BouncyCastleJsseProvider}} configuration in the {{java.security}} file to specify {{BCFIPS}} as follows:
security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider:BCFIPS
Then try adding the following line to the {{java.security}} file that references the BCFIPS provider:
securerandom.strongAlgorithms=DEFAULT:BCFIPS
> IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available when configuring BC FIPS on JDK 11
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: ELY-1998
> URL: https://issues.redhat.com/browse/ELY-1998
> Project: WildFly Elytron
> Issue Type: Bug
> Components: SSL
> Reporter: Diana Vilkolakova
> Priority: Major
>
> The below steps require ELY-1982 bugfix to work.
> Configure security providers in java.security file:
> {code}
> security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
> security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
> security.provider.3=SUN
> {code}
> Add the bc-fips.jar and bctls-fips-1.0.10.jar to the CLASSPATH and generate keystore in JBOSS_HOME/standalone/configuration folder:
> {code}
> keytool -genkeypair -alias appserver -keyalg RSA -keysize 2048 -keypass password -keystore "fips.keystore" -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath $CLASSPATH -storetype BCFKS -storepass password -dname "CN=testserver,OU=TESTOU,O=TESTO,L=TESTL,ST=TESTCZ,C=TESTCZ" -validity 730 -v
> {code}
> Try to configure `server-ssl-context`:
> {code}
> module add --name=org.bouncycastle.fips --resources=/path/to/bc-fips-1.0.2.jar:/path/to/bctls-fips-1.0.10.jar
> /subsystem=elytron/provider-loader=bc:add(module=org.bouncycastle.fips)
> /subsystem=elytron/key-store=fipsKS:add(path=fips.keystore, relative-to=jboss.server.config.dir, credential-reference={clear-text=password}, type="BCFKS", providers=bc)
> /subsystem=elytron/key-manager=fipsKM:add(key-store=fipsKS, algorithm="X509", credential-reference={clear-text=password}, providers=bc)
> /subsystem=elytron/server-ssl-context=fipsSSC:add(key-manager=fipsKM, protocols=["TLSv1.2"], providers=bc)
> {code}
> The last command results in:
> {code}
> {
> "outcome" => "failed",
> "failure-description" => {"WFLYCTL0080: Failed services" => {"org.wildfly.security.ssl-context.fipsSSC" => "Failed to start service
> Caused by: java.lang.IllegalStateException: unable to create JcaTlsCrypto: DEFAULT SecureRandom not available
> Caused by: java.security.NoSuchAlgorithmException: DEFAULT SecureRandom not available"}},
> "rolled-back" => true
> }
> {code}
> The exception is happening [on this line|https://github.com/Skyllarr/wildfly-elytron/blob/ELY-1982/ssl/src/ma...] . This exception can be avoided by either using *new SecureRandom()* instead of null during initialization of sslContext, or by configuring securerandom with using *CryptoServicesRegistrar.setSecureRandom(new SecureRandom());* in code beforehand (this would require bc dependency).
> I tried to configure secure random statically by setting *securerandom.strongAlgorithms=DEFAULT:BCFIPS* in java.security or by trying to pass secure random as parameter to constructor with
> {code}
> security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider "C:DEFRND[SHA512];ENABLE{ALL};"
> {code}
> but neither had any effect. I did not find how to configure this statically for Java 11 in BC documentation.
> We could pass new instance of SecureRandom when initializing sslContext (if bouncycastle is used), or set secureRandom beforehand, or catch this exception and then use `new SecureRandom()`. But should we force the users to use SecureRandom set in the code by us? If users want to use Bouncycastle they should configure the secure random themselves since it is needed by the provider?
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFCORE-5004) TlsTestCase#testReloadTrustManager fails on IBM Java 8
by Sonia Zaldana (Jira)
[ https://issues.redhat.com/browse/WFCORE-5004?page=com.atlassian.jira.plug... ]
Sonia Zaldana reassigned WFCORE-5004:
-------------------------------------
Assignee: Sonia Zaldana
> TlsTestCase#testReloadTrustManager fails on IBM Java 8
> ------------------------------------------------------
>
> Key: WFCORE-5004
> URL: https://issues.redhat.com/browse/WFCORE-5004
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Affects Versions: 13.0.0.Beta1
> Reporter: Ondrej Kotek
> Assignee: Sonia Zaldana
> Priority: Major
>
> TlsTestCase#testReloadTrustManager fails on IBM Java 8 at [TlsTestCase.java#L439|https://github.com/wildfly/wildfly-core/blob/master...] reporting the same DN. When I try to compare using canonical names, there is a difference. Using RFC1779 or RFC2253 names is ok.
> {noformat}
> Assert.assertEquals(originalFoundDN.getIssuerX500Principal().getName(X500Principal.CANONICAL), ISSUER_DN.getName(X500Principal.CANONICAL));
> [ERROR] TlsTestCase.testReloadTrustManager:439 expected:<....2.840.113549.1.9.1=[#1613656c7974726f6e4077696c64666c792e6f7267],c=uk,st=elytron,cn=...> but was:<....2.840.113549.1.9.1=[elytron@wildfly.org],c=uk,st=elytron,cn=...>
> {noformat}
> Is it just a test issue, or can there be an impact on functionality? In case it's just a test issue, can we assert equality of names? I.e.
> {noformat}
> Assert.assertEquals(originalFoundDN.getIssuerX500Principal().getName(), ISSUER_DN.getName());
> {noformat}
> The same for [TlsTestCase.java#L465|https://github.com/wildfly/wildfly-core/blob/master...] then.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (ELY-1982) TLS with BCJSSE Provider does not work
by Farah Juma (Jira)
[ https://issues.redhat.com/browse/ELY-1982?page=com.atlassian.jira.plugin.... ]
Farah Juma reassigned ELY-1982:
-------------------------------
Assignee: Diana Vilkolakova
> TLS with BCJSSE Provider does not work
> --------------------------------------
>
> Key: ELY-1982
> URL: https://issues.redhat.com/browse/ELY-1982
> Project: WildFly Elytron
> Issue Type: Bug
> Components: SSL
> Reporter: Diana Vilkolakova
> Assignee: Diana Vilkolakova
> Priority: Major
>
> Configuration of `server-ssl-context` does not seem to work with BCJSSE Provider. The steps above work for EAP 7.2, however they throw the following error in EAP 7.3:
> ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("add") failed - address: ([
> ("subsystem" => "elytron"),
> ("server-ssl-context" => "server-ssl-context")
> ]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.security.ssl-context.server-ssl-context" => "Failed to start service
> Caused by: java.lang.IllegalStateException: SSLContext has not been initialized."}}
> Stacktrace:
> ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service org.wildfly.security.ssl-context.server-ssl-context: org.jboss.msc.service.StartException in service org.wildfly.security.ssl-context.server-ssl-context: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalStateException: SSLContext has not been initialized.
> at org.bouncycastle.jsse.provider.ProvSSLContextSpi.getContextData(Unknown Source)
> at org.bouncycastle.jsse.provider.ProvSSLContextSpi.engineGetServerSessionContext(Unknown Source)
> at javax.net.ssl.SSLContext.getServerSessionContext(SSLContext.java:386)
> at org.wildfly.security.ssl.SSLContextBuilder.lambda$build$0(SSLContextBuilder.java:340)
> at org.wildfly.security.OneTimeSecurityFactory.create(OneTimeSecurityFactory.java:53)
> at org.wildfly.extension.elytron.SSLDefinitions$6.lambda$getValueSupplier$1(SSLDefinitions.java:1173)
> at org.wildfly.extension.elytron.TrivialService.start(TrivialService.java:53)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> ... 6 more
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFCORE-5009) Enhance JBoss CLI generic "command" with support for existing resource
by Jean Francois Denise (Jira)
[ https://issues.redhat.com/browse/WFCORE-5009?page=com.atlassian.jira.plug... ]
Jean Francois Denise updated WFCORE-5009:
-----------------------------------------
Summary: Enhance JBoss CLI generic "command" with support for existing resource (was: Request for enhancement in the JBoss EAP CLI generic type "command")
> Enhance JBoss CLI generic "command" with support for existing resource
> ----------------------------------------------------------------------
>
> Key: WFCORE-5009
> URL: https://issues.redhat.com/browse/WFCORE-5009
> Project: WildFly Core
> Issue Type: Feature Request
> Components: CLI
> Reporter: Jean Francois Denise
> Assignee: Jean Francois Denise
> Priority: Major
> Labels: Previous_RFE
>
> One of our strategic customers, requested an enhancement in the JBoss EAP CLI. Currently they are using in their scripts the Generic type Command (https://developer.jboss.org/wiki/GenericTypeCLICommands) to set the properties of a resource.
> Unfortunately that does not work in several cases. For example when they need to set attributes like the following:
> /core-service=management/access=authorization:write-attribute(name=permission-combination-policy,value=permissive)
> /core-service=management/access=authorization:write-attribute(name=provider,value=rbac)
> This can not be done with the command syntax:
> [standalone@127.0.0.1:9999 /] command add --node-type=/core-service=management/access --command-name=access
> Failed to validate input: operation response doesn't contain result info.
> It would be extremely helpful for us to have an improvement in the CLI that allows setting multiple attributes on resources referenced by 'command'.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months