Skip to content
/ ecf Public
forked from eclipse-ecf/ecf
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,14 @@ public SSLContext getInstance(String protocol, String providerName) throws NoSuc
return getInstance0(protocol, providerName);
}

@Override
public SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException {
if (protocol == null) {
return SSLContext.getDefault();
}
if (provider == null)
throw new IllegalArgumentException("provider must not be null"); //$NON-NLS-1$
return SSLContext.getInstance(protocol, provider);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@

import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Provider;
import javax.net.ssl.SSLContext;

/**
* This class exposes three legacy static methods from the {@link SSLContext} class as
* This class exposes legacy static methods from the {@link SSLContext} class as
* methods on an implementing instance. Implementing instances should be registered
* as OSGi services.
*
Expand All @@ -37,8 +38,13 @@ public interface SSLContextFactory {
SSLContext getInstance(String protocol) throws NoSuchAlgorithmException, NoSuchProviderException;

/**
* See <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/net/ssl/SSLContext.html#getInstance(java.lang.String,java.security.Provider)">SSLContext.getInstance(String protocol, String provider)</a><br>
* See <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/net/ssl/SSLContext.html#getInstance(java.lang.String,java.lang.String)">SSLContext.getInstance(String protocol, String provider)</a><br>
*/
SSLContext getInstance(String protocol, String providerName) throws NoSuchAlgorithmException, NoSuchProviderException;

/**
* See <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/net/ssl/SSLContext.html#getInstance(java.lang.String,java.security.Provider)">SSLContext.getInstance(String protocol, Provider provider)</a><br>
*/
SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException;

}
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,11 @@ public void testSSLContextGetInstance1() throws Exception {
assertNotNull(context);
}

public void testSSLContextGetInstanceWithProvider() throws Exception {
Provider provider = SSLContext.getDefault().getProvider();
SSLContext context = this.sslContextFactory.getInstance(testProtocol, provider);
assertNotNull(context);
assertEquals(provider, context.getProvider());
}

}