org.littleshoot.proxy.MitmManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of littleproxy Show documentation
Show all versions of littleproxy Show documentation
LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
package org.littleshoot.proxy;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLSession;
/**
* MITMManagers encapsulate the logic required for letting LittleProxy act as a
* man in the middle for HTTPS requests.
*/
public interface MitmManager {
/**
* Creates an {@link SSLEngine} for encrypting the server connection.
*
* @return
*/
SSLEngine serverSslEngine();
/**
*
* Creates an {@link SSLEngine} for encrypting the client connection based
* on the given serverSslSession.
*
*
*
* The serverSslSession is provided in case this method needs to inspect the
* server's certificates or something else about the encryption on the way
* to the server.
*
*
*
* This is the place where one would implement impersonation of the server
* by issuing replacement certificates signed by the proxy's own
* certificate.
*
*
* @param serverSslSession
* the {@link SSLSession} that's been established with the server
* @return
*/
SSLEngine clientSslEngineFor(SSLSession serverSslSession);
}