[jboss-jira] [JBoss JIRA] (ELY-1639) FIPS PKCS11 Client side: only SunJSSE KeyManagers may be used

Martin Choma (JIRA) issues at jboss.org
Fri Aug 17 02:02:00 EDT 2018


    [ https://issues.jboss.org/browse/ELY-1639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13620340#comment-13620340 ] 

Martin Choma edited comment on ELY-1639 at 8/17/18 2:01 AM:
------------------------------------------------------------

Thank you very much. Couple of notes after first look:
* provider="SunPKCS11-testPkcs" is not necessary, right?
* Now we have different approaches for configuring key-manager (with keystore reference) and trust-manager (without keystore reference). I personally like more key-manager style. As it is how *-managers on server-side are configured as well. So basically leaving trustmanager approach only different. So ideally in future trust-manager could have also reference to trust-store. And we can deprecate trust-store resource.
* So If I understand correctly key-store-ssl-certificate is left as is. If key-store-ssl-certificate is used Custom KeyManager is used. We need to document this difference in client scheme.
* - on key-manager is it possible to configure provider?-
* I dont see the way of specifying password (key password) on key-manager element. Both server side key-manager and key-store-ssl-certificate have it


was (Author: mchoma):
Thank you very much. Couple of notes after first look:
* provider="SunPKCS11-testPkcs" is not necessary, right?
* Now we have different approaches for configuring key-manager (with keystore reference) and trust-manager (without keystore reference). I personally like more key-manager style. As it is how *-managers on server-side are configured as well. So basically leaving trustmanager approach only different. So ideally in future trust-manager could have also reference to trust-store. And we can deprecate trust-store resource.
* So If I understand correctly key-store-ssl-certificate is left as is. If key-store-ssl-certificate is used Custom KeyManager is used. We need to document this difference in client scheme.
*- on key-manager is it possible to configure provider?-
* I dont see the way of specifying password (key password) on key-manager element. Both server side key-manager and key-store-ssl-certificate have it

> FIPS PKCS11 Client side: only SunJSSE KeyManagers may be used
> -------------------------------------------------------------
>
>                 Key: ELY-1639
>                 URL: https://issues.jboss.org/browse/ELY-1639
>             Project: WildFly Elytron
>          Issue Type: Bug
>          Components: SSL
>            Reporter: Martin Choma
>            Assignee: Jan Kalina
>            Priority: Blocker
>         Attachments: cli-wildfly-config.xml
>
>
> Fix of ELY-1622 introduced regression. It is not possible to do 1 way ssl (no key-store-ssl-certificate in wildfly-config.xml) with exception 
> {code}
> 14:13:56,143 ERROR [org.jboss.as.cli.impl.CliLauncher] Error processing CLI: org.jboss.as.cli.CliInitializationException: Failed to connect to the controller
>         at org.jboss.as.cli.impl.CliLauncher.initCommandContext(CliLauncher.java:330)
>         at org.jboss.as.cli.impl.CliLauncher.main(CliLauncher.java:291)
>         at org.jboss.as.cli.CommandLineMain.main(CommandLineMain.java:45)
>         at org.jboss.modules.Module.run(Module.java:352)
>         at org.jboss.modules.Module.run(Module.java:320)
>         at org.jboss.modules.Main.main(Main.java:593)
> Caused by: org.jboss.as.cli.CommandLineException: Failed to resolve host 'localhost'
>         at org.jboss.as.cli.impl.CommandContextImpl.connectController(CommandContextImpl.java:1256)
>         at org.jboss.as.cli.impl.CommandContextImpl.connectController(CommandContextImpl.java:1203)
>         at org.jboss.as.cli.impl.CommandContextImpl.connectController(CommandContextImpl.java:1198)
>         at org.jboss.as.cli.impl.CliLauncher.initCommandContext(CliLauncher.java:328)
>         ... 5 more
> Caused by: java.io.IOException: Failed to obtain SSLContext
>         at org.jboss.as.cli.impl.CLIModelControllerClient.<init>(CLIModelControllerClient.java:156)
>         at org.jboss.as.cli.impl.ModelControllerClientFactory$2.getClient(ModelControllerClientFactory.java:85)
>         at org.jboss.as.cli.impl.CommandContextImpl.connectController(CommandContextImpl.java:1222)
>         ... 8 more
> Caused by: java.security.KeyManagementException: FIPS mode: only SunJSSE KeyManagers may be used
>         at sun.security.ssl.SSLContextImpl.chooseKeyManager(SSLContextImpl.java:149)
>         at sun.security.ssl.SSLContextImpl.engineInit(SSLContextImpl.java:66)
>         at javax.net.ssl.SSLContext.init(SSLContext.java:282)
>         at org.wildfly.security.ssl.SSLContextBuilder.lambda$build$0(SSLContextBuilder.java:372)
>         at org.wildfly.security.OneTimeSecurityFactory.create(OneTimeSecurityFactory.java:53)
>         at org.wildfly.security.auth.client.AuthenticationContextConfigurationClient.getSSLContext(AuthenticationContextConfigurationClient.java:221)
>         at org.wildfly.security.auth.client.AuthenticationContextConfigurationClient.getSSLContext(AuthenticationContextConfigurationClient.java:208)
>         at org.jboss.as.cli.impl.CLIModelControllerClient.<init>(CLIModelControllerClient.java:153)
>         ... 10 more
>  {code}
> It is because after fix Fix of ELY-1622 custom keymanager is used. But it is forbidden by jdk FIPS PKCS11.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list