
// Create the context.  Specify the SunJSSE provider to avoid
// picking up third-party providers.  Try the TLS 1.2 provider
// first, then fall back to TLS 1.0.
SSLContext ctx;
try {
    ctx = SSLContext.getInstance("TLSv1.2", "SunJSSE");
} catch (NoSuchAlgorithmException e) {
    try {
        ctx = SSLContext.getInstance("TLSv1", "SunJSSE");
    } catch (NoSuchAlgorithmException e1) {
        // The TLS 1.0 provider should always be available.
        throw new AssertionError(e1);
    } catch (NoSuchProviderException e1) {
        throw new AssertionError(e1);
    } 
} catch (NoSuchProviderException e) {
    // The SunJSSE provider should always be available.
    throw new AssertionError(e);
}
ctx.init(null, null, null);

