summaryrefslogtreecommitdiff
path: root/java/src/IceSSL/Instance.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceSSL/Instance.java')
-rw-r--r--java/src/IceSSL/Instance.java38
1 files changed, 24 insertions, 14 deletions
diff --git a/java/src/IceSSL/Instance.java b/java/src/IceSSL/Instance.java
index 4b6fa6baf66..e14619334d7 100644
--- a/java/src/IceSSL/Instance.java
+++ b/java/src/IceSSL/Instance.java
@@ -18,34 +18,24 @@ class Instance
_securityTraceCategory = "Security";
//
- // Initialize the plugin, unless IceSSL.DelayInit=1.
- //
- if(communicator.getProperties().getPropertyAsInt("IceSSL.DelayInit") == 0)
- {
- initialize(null);
- }
-
- //
// Register the endpoint factory.
//
_facade.addEndpointFactory(new EndpointFactoryI(this));
}
void
- initialize(javax.net.ssl.SSLContext context)
+ initialize()
{
if(_context != null)
{
- Ice.PluginInitializationException e = new Ice.PluginInitializationException();
- e.reason = "plugin is already initialized";
- throw e;
+ return;
}
//
// If we have to initialize an SSLContext, we'll need a SecureRandom object.
//
java.security.SecureRandom rand = null;
- if(context == null)
+ if(_ctx == null)
{
try
{
@@ -71,7 +61,7 @@ class Instance
//
try
{
- _context = new Context(this, context, rand);
+ _context = new Context(this, _ctx, rand);
}
catch(java.security.GeneralSecurityException ex)
{
@@ -83,6 +73,25 @@ class Instance
}
void
+ setContext(javax.net.ssl.SSLContext context)
+ {
+ if(_context != null)
+ {
+ Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
+ ex.reason = "IceSSL: plugin is already initialized";
+ throw ex;
+ }
+
+ _ctx = context;
+ }
+
+ javax.net.ssl.SSLContext
+ getContext()
+ {
+ return _ctx;
+ }
+
+ void
setCertificateVerifier(CertificateVerifier verifier)
{
_verifier = verifier;
@@ -147,4 +156,5 @@ class Instance
private String _securityTraceCategory;
private Context _context;
private CertificateVerifier _verifier;
+ private javax.net.ssl.SSLContext _ctx;
}