[ 
https://issues.apache.org/jira/browse/RIVER-468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shawn Ellis updated RIVER-468:
------------------------------
    Description: 
SSL Client Authentication fails with JDK 11.0.3 and greater due to changes with 
the JVM. The JVM change prevents Apache River services from communicating with 
each other if SSL Client Authentication is used.

The invocation of ClientAuthManager.chooseClientAlias() was changed with JDK 
11.0.3. Prior versions would invoke chooseClientAlias once with multiple 
keyType elements. JDK 11.0.3 and later versions invoke chooseClientAlias 
multiple times with a single element in the keytype array.

Ex.

JDK 11.0.2 and earlier:

choseClientAlias(\{ "EC", "RSA", "DSA" }, socket);

JDK 11.0.3 and greater:

for (String keyType : \{ "EC", "RSA", "DSA" })

{ choseClientAlias(\\{ keyType }

, socket);
 }

ClientAuthManger.java was modified to store the SecurityException or 
GeneralSecurityException in a map based upon the keytype. This allows River to 
work with older and later versions of the JVM. The attached patch is based upon 
the Apache River 3.0 branch.

 

[^ClientAuthManager-1.patch]

  was:
SSL Client Authentication fails with JDK 11.0.3 and greater due to changes with 
the JVM. The JVM change prevents Apache River services from communicating with 
each other if SSL Client Authentication is used.

The invocation of ClientAuthManager.chooseClientAlias() was changed with JDK 
11.0.3. Prior versions would invoke chooseClientAlias once with multiple 
keyType elements. JDK 11.0.3 and later versions invoke chooseClientAlias 
multiple times with a single element in the keytype array.

Ex.

JDK 11.0.2 and earlier:

choseClientAlias(\{ "EC", "RSA", "DSA" }, socket);

JDK 11.0.3 and greater:

for (String keyType : \{ "EC", "RSA", "DSA" }) {
 choseClientAlias(\{ keyType }, socket);
 }

ClientAuthManger.java was modified to store the SecurityException or 
GeneralSecurityException in a map based upon the keytype. This allows River to 
work with older and later versions of the JVM. The attached patch is based upon 
the Apache River 3.0 branch.


> SSL Client Authentication doesn't work with JDK 11.0.3 and greater
> ------------------------------------------------------------------
>
>                 Key: RIVER-468
>                 URL: https://issues.apache.org/jira/browse/RIVER-468
>             Project: River
>          Issue Type: Bug
>          Components: net_jini_jeri
>    Affects Versions: River_3.0.1
>            Reporter: Shawn Ellis
>            Priority: Major
>         Attachments: ClientAuthManager-1.patch
>
>
> SSL Client Authentication fails with JDK 11.0.3 and greater due to changes 
> with the JVM. The JVM change prevents Apache River services from 
> communicating with each other if SSL Client Authentication is used.
> The invocation of ClientAuthManager.chooseClientAlias() was changed with JDK 
> 11.0.3. Prior versions would invoke chooseClientAlias once with multiple 
> keyType elements. JDK 11.0.3 and later versions invoke chooseClientAlias 
> multiple times with a single element in the keytype array.
> Ex.
> JDK 11.0.2 and earlier:
> choseClientAlias(\{ "EC", "RSA", "DSA" }, socket);
> JDK 11.0.3 and greater:
> for (String keyType : \{ "EC", "RSA", "DSA" })
> { choseClientAlias(\\{ keyType }
> , socket);
>  }
> ClientAuthManger.java was modified to store the SecurityException or 
> GeneralSecurityException in a map based upon the keytype. This allows River 
> to work with older and later versions of the JVM. The attached patch is based 
> upon the Apache River 3.0 branch.
>  
> [^ClientAuthManager-1.patch]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to