From f616a8378298bc0f919f4b5348675e16ef89bc96 Mon Sep 17 00:00:00 2001 From: Jason Hoetger Date: Tue, 29 Dec 2015 13:57:45 -0800 Subject: [PATCH] Added ImpersonatingMitmManager builder method using EC keys by default --- .../mitm/manager/ImpersonatingMitmManager.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/mitm/src/main/java/net/lightbody/bmp/mitm/manager/ImpersonatingMitmManager.java b/mitm/src/main/java/net/lightbody/bmp/mitm/manager/ImpersonatingMitmManager.java index d337526de..c5e0fbcd8 100644 --- a/mitm/src/main/java/net/lightbody/bmp/mitm/manager/ImpersonatingMitmManager.java +++ b/mitm/src/main/java/net/lightbody/bmp/mitm/manager/ImpersonatingMitmManager.java @@ -12,6 +12,7 @@ import net.lightbody.bmp.mitm.RootCertificateGenerator; import net.lightbody.bmp.mitm.exception.MitmException; import net.lightbody.bmp.mitm.exception.SslContextInitializationException; +import net.lightbody.bmp.mitm.keys.ECKeyGenerator; import net.lightbody.bmp.mitm.keys.KeyGenerator; import net.lightbody.bmp.mitm.keys.RSAKeyGenerator; import net.lightbody.bmp.mitm.stats.CertificateGenerationStatistics; @@ -300,12 +301,25 @@ public CertificateGenerationStatistics getStatistics() { } /** - * Convenience method to return a new {@link Builder} instance. + * Convenience method to return a new {@link Builder} instance default default values: a {@link RootCertificateGenerator} + * that dynamically generates an RSA root certificate and RSA server certificates. */ public static Builder builder() { return new Builder(); } + /** + * Convenience method to return a new {@link Builder} instance that will dynamically create EC root certificates and + * EC server certificates, but otherwise uses default values. + */ + public static Builder builderWithECC() { + return new Builder() + .serverKeyGenerator(new ECKeyGenerator()) + .rootCertificateSource(RootCertificateGenerator.builder() + .keyGenerator(new ECKeyGenerator()) + .build()); + } + /** * A Builder for {@link ImpersonatingMitmManager}s. Initialized with suitable default values suitable for most purposes. */