All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.jsse.BCSSLEngine Maven / Gradle / Ivy

The newest version!
package org.bouncycastle.jsse;

import javax.net.ssl.SSLEngine;

/**
 * A BCJSSE-specific interface to expose extended functionality on {@link javax.net.ssl.SSLEngine}
 * implementations.
 */
public interface BCSSLEngine
{
    String getApplicationProtocol();

    BCApplicationProtocolSelector getBCHandshakeApplicationProtocolSelector();

    void setBCHandshakeApplicationProtocolSelector(BCApplicationProtocolSelector selector);

    void setBCSessionToResume(BCExtendedSSLSession session);

    BCExtendedSSLSession getBCHandshakeSession();

    BCExtendedSSLSession getBCSession();

    /**
     * Returns an accessor for extended SSL connection data. Unlike
     * {@link BCSSLSocket#getConnection} this method does not block until handshaking is complete.
     * Until the initial handshake has completed, this method returns null.
     * 
     * @return A {@link BCSSLConnection} instance.
     */
    BCSSLConnection getConnection();

    String getHandshakeApplicationProtocol();

    /**
     * Returns a {@link BCSSLParameters} with properties reflecting the current configuration.
     * @return the current {@link BCSSLParameters parameters}
     */
    BCSSLParameters getParameters();

    /**
     * Sets parameters according to the properties in a {@link BCSSLParameters}.
     * 

* Note that any properties set to null will be ignored, which will leave the corresponding * settings unchanged. *

* * @param parameters * the {@link BCSSLParameters parameters} to set * @throws IllegalArgumentException * if the cipherSuites or protocols properties contain unsupported values */ void setParameters(BCSSLParameters parameters); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy