Commit 7a32d7ba authored by Jehonathan Thomas's avatar Jehonathan Thomas Committed by GitHub

Merge pull request #201 from justcoding121/develop

optimize certificate maker for alternative subject names
parents b9cf1976 3159b8eb
...@@ -34,6 +34,12 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -34,6 +34,12 @@ namespace Titanium.Web.Proxy.Network.Certificate
private readonly Type typeX509Enrollment; private readonly Type typeX509Enrollment;
private readonly Type typeAltNamesCollection;
private readonly Type typeExtNames;
private readonly Type typeCAlternativeName;
private readonly string sProviderName = "Microsoft Enhanced Cryptographic Provider v1.0"; private readonly string sProviderName = "Microsoft Enhanced Cryptographic Provider v1.0";
private object _SharedPrivateKey; private object _SharedPrivateKey;
...@@ -55,8 +61,13 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -55,8 +61,13 @@ namespace Titanium.Web.Proxy.Network.Certificate
typeSignerCertificate = Type.GetTypeFromProgID("X509Enrollment.CSignerCertificate"); typeSignerCertificate = Type.GetTypeFromProgID("X509Enrollment.CSignerCertificate");
typeX509Enrollment = Type.GetTypeFromProgID("X509Enrollment.CX509Enrollment"); typeX509Enrollment = Type.GetTypeFromProgID("X509Enrollment.CX509Enrollment");
//for alternative names
typeAltNamesCollection = Type.GetTypeFromProgID("X509Enrollment.CAlternativeNames");
typeExtNames = Type.GetTypeFromProgID("X509Enrollment.CX509ExtensionAlternativeNames");
typeCAlternativeName = Type.GetTypeFromProgID("X509Enrollment.CAlternativeName");
} }
/// <summary> /// <summary>
/// Make certificate. /// Make certificate.
/// </summary> /// </summary>
...@@ -172,13 +183,8 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -172,13 +183,8 @@ namespace Titanium.Web.Proxy.Network.Certificate
//add alternative names //add alternative names
// https://forums.iis.net/t/1180823.aspx // https://forums.iis.net/t/1180823.aspx
var typeAltNamesCollection = Type.GetTypeFromProgID("X509Enrollment.CAlternativeNames");
var altNameCollection = Activator.CreateInstance(typeAltNamesCollection); var altNameCollection = Activator.CreateInstance(typeAltNamesCollection);
var typeExtNames = Type.GetTypeFromProgID("X509Enrollment.CX509ExtensionAlternativeNames");
var extNames = Activator.CreateInstance(typeExtNames); var extNames = Activator.CreateInstance(typeExtNames);
var typeCAlternativeName = Type.GetTypeFromProgID("X509Enrollment.CAlternativeName");
var altDnsNames = Activator.CreateInstance(typeCAlternativeName); var altDnsNames = Activator.CreateInstance(typeCAlternativeName);
typeValue = new object[] { 3, subject }; typeValue = new object[] { 3, subject };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment