Throw exception if KeyManagerFactory is used with OpenSslClientContext
Motivation: We currently not supported using KeyManagerFactory with OpenSslClientContext and so should throw an exception if the user tries to do so. This will at least not give suprising and hard to debug problems later. Modifications: Throw exception if a user tries to construct a OpenSslClientContext with a KeyManagerFactory Result: Fail fast if the user tries to use something that is not supported.
This commit is contained in:
parent
15b1a94b2f
commit
ebfb2832b2
@ -187,6 +187,7 @@ public final class OpenSslClientContext extends OpenSslContext {
|
||||
ClientAuth.NONE);
|
||||
boolean success = false;
|
||||
try {
|
||||
checkKeyManagerFactory(keyManagerFactory);
|
||||
if (key == null && keyCertChain != null || key != null && keyCertChain == null) {
|
||||
throw new IllegalArgumentException(
|
||||
"Either both keyCertChain and key needs to be null or none of them");
|
||||
|
@ -29,6 +29,7 @@ import org.apache.tomcat.jni.Pool;
|
||||
import org.apache.tomcat.jni.SSL;
|
||||
import org.apache.tomcat.jni.SSLContext;
|
||||
|
||||
import javax.net.ssl.KeyManagerFactory;
|
||||
import javax.net.ssl.SSLEngine;
|
||||
import javax.net.ssl.SSLException;
|
||||
import javax.net.ssl.SSLHandshakeException;
|
||||
@ -584,4 +585,11 @@ public abstract class OpenSslContext extends SslContext {
|
||||
throw new SSLException(e);
|
||||
}
|
||||
}
|
||||
|
||||
static void checkKeyManagerFactory(KeyManagerFactory keyManagerFactory) {
|
||||
if (keyManagerFactory != null) {
|
||||
throw new IllegalArgumentException(
|
||||
"KeyManagerFactory is currently not supported with OpenSslContext");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -449,11 +449,4 @@ public final class OpenSslServerContext extends OpenSslContext {
|
||||
public OpenSslServerSessionContext sessionContext() {
|
||||
return sessionContext;
|
||||
}
|
||||
|
||||
private static void checkKeyManagerFactory(KeyManagerFactory keyManagerFactory) {
|
||||
if (keyManagerFactory != null) {
|
||||
throw new IllegalArgumentException(
|
||||
"KeyManagerFactory is currently not supported with OpenSslServerContext");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user