Class ImpersonatingMitmManager

  • All Implemented Interfaces:
    org.littleshoot.proxy.MitmManager

    public class ImpersonatingMitmManager
    extends java.lang.Object
    implements org.littleshoot.proxy.MitmManager
    An MitmManager that will create SSLEngines for clients that present impersonated certificates for upstream servers. The impersonated certificates will be signed using the certificate and private key specified in an rootCertificateSource. The impersonated server certificates will be created by the securityProviderTool based on the CertificateInfo returned by the certificateInfoGenerator.
    • Constructor Detail

      • ImpersonatingMitmManager

        public ImpersonatingMitmManager​(CertificateAndKeySource rootCertificateSource,
                                        KeyGenerator serverKeyGenerator,
                                        java.lang.String serverMessageDigest,
                                        TrustSource trustSource,
                                        int sslContextCacheConcurrencyLevel,
                                        long cacheExpirationIntervalMs,
                                        SecurityProviderTool securityProviderTool,
                                        CertificateInfoGenerator certificateInfoGenerator,
                                        java.util.Collection<java.lang.String> serverCipherSuites,
                                        java.util.Collection<java.lang.String> clientCipherSuites)
        Creates a new ImpersonatingMitmManager. In general, use ImpersonatingMitmManager.Builder to construct new instances.
        Parameters:
        cacheExpirationIntervalMs - cacheExpirationIntervalMs
        certificateInfoGenerator - certificateInfoGenerator
        clientCipherSuites - clientCipherSuites
        rootCertificateSource - rootCertificateSource
        securityProviderTool - securityProviderTool
        serverCipherSuites - serverCipherSuites
        serverKeyGenerator - serverKeyGenerator
        serverMessageDigest - serverMessageDigest
        sslContextCacheConcurrencyLevel - sslContextCacheConcurrencyLevel
        trustSource - trustSource
    • Method Detail

      • serverSslEngine

        public javax.net.ssl.SSLEngine serverSslEngine()
        Specified by:
        serverSslEngine in interface org.littleshoot.proxy.MitmManager
      • serverSslEngine

        public javax.net.ssl.SSLEngine serverSslEngine​(java.lang.String peerHost,
                                                       int peerPort)
        Specified by:
        serverSslEngine in interface org.littleshoot.proxy.MitmManager
      • clientSslEngineFor

        public javax.net.ssl.SSLEngine clientSslEngineFor​(io.netty.handler.codec.http.HttpRequest httpRequest,
                                                          javax.net.ssl.SSLSession sslSession)
        Specified by:
        clientSslEngineFor in interface org.littleshoot.proxy.MitmManager
      • getStatistics

        public CertificateGenerationStatistics getStatistics()
        Returns basic certificate generation statistics for this MitmManager.
        Returns:
        CertificateGenerationStatistics