From bcda275cf17c372f6fc758fc482164d06bae2683 Mon Sep 17 00:00:00 2001 From: Brian Hill <76450501+bhillkeyfactor@users.noreply.github.com> Date: Thu, 2 Jun 2022 10:06:23 -0400 Subject: [PATCH 01/14] Update readme_source.md --- readme_source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme_source.md b/readme_source.md index c0f8c4e..3ee9480 100644 --- a/readme_source.md +++ b/readme_source.md @@ -1,7 +1,7 @@ *** # Compatibility -This AnyGateway is designed to be used with version 21.3.2 of the Keyfactor AnyGateway Framework +This AnyGateway is designed to be used with version 21.3.2 of the Keyfactor AnyGateway Framework. # Getting Started From 5282761dbb47808c3f4647b2ecef404bd469305f Mon Sep 17 00:00:00 2001 From: Keyfactor Date: Thu, 2 Jun 2022 14:07:08 +0000 Subject: [PATCH 02/14] Update generated README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ccbffa..031999d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This repository contains an AnyGateway CA Connector, which is a plugin to the Ke *** # Compatibility -This AnyGateway is designed to be used with version 21.3.2 of the Keyfactor AnyGateway Framework +This AnyGateway is designed to be used with version 21.3.2 of the Keyfactor AnyGateway Framework. # Getting Started From 25c4d5053c635e062f7dfc6be83c730b661f38ce Mon Sep 17 00:00:00 2001 From: Michael Henderson Date: Thu, 2 Jun 2022 09:50:15 -0700 Subject: [PATCH 03/14] fix broken release build, revert previous changes --- .github/workflows/keyfactor-starter-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index d2053a7..2e66bcf 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -3,7 +3,7 @@ on: [workflow_dispatch, push, pull_request] jobs: call-create-github-release-workflow: - uses: Keyfactor/actions/.github/workflows/github-release.yml@main + uses: Keyfactor/actions/.github/workflows/github-release.yml@fix-isrelease call-dotnet-build-and-release-workflow: needs: [call-create-github-release-workflow] From 7435b03198bfa300cde799bf359c4e96cf73bc14 Mon Sep 17 00:00:00 2001 From: Michael Henderson Date: Thu, 2 Jun 2022 10:16:05 -0700 Subject: [PATCH 04/14] use scripts from main --- .github/workflows/keyfactor-starter-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index 2e66bcf..d2053a7 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -3,7 +3,7 @@ on: [workflow_dispatch, push, pull_request] jobs: call-create-github-release-workflow: - uses: Keyfactor/actions/.github/workflows/github-release.yml@fix-isrelease + uses: Keyfactor/actions/.github/workflows/github-release.yml@main call-dotnet-build-and-release-workflow: needs: [call-create-github-release-workflow] From 809d7f7f2c18e95642c1b98257be723123bbecae Mon Sep 17 00:00:00 2001 From: Brian Hill Date: Tue, 16 Jan 2024 20:52:13 +0000 Subject: [PATCH 05/14] AutoWWW addition to SSLStore API --- .../Client/Models/NewOrderRequest.cs | 3 +++ .../Client/Models/TemplateNewOrderRequest.cs | 7 ++++++ .../Interfaces/INewOrderRequest.cs | 1 + .../Interfaces/ITemplateNewOrderRequest.cs | 1 + SslStoreCaProxy/RequestManager.cs | 23 ++++++++++++------- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/SslStoreCaProxy/Client/Models/NewOrderRequest.cs b/SslStoreCaProxy/Client/Models/NewOrderRequest.cs index 79ce4d0..7877e6d 100644 --- a/SslStoreCaProxy/Client/Models/NewOrderRequest.cs +++ b/SslStoreCaProxy/Client/Models/NewOrderRequest.cs @@ -36,6 +36,9 @@ public class NewOrderRequest : INewOrderRequest [JsonProperty("isCUOrder")] public bool IsCuOrder { get; set; } + [JsonProperty("AutoWWW", NullValueHandling = NullValueHandling.Ignore,DefaultValueHandling =DefaultValueHandling.Ignore)] + public bool? AutoWWW { get; set; } + [JsonProperty("isRenewalOrder")] public bool IsRenewalOrder { get; set; } public string SpecialInstructions { get; set; } diff --git a/SslStoreCaProxy/Client/Models/TemplateNewOrderRequest.cs b/SslStoreCaProxy/Client/Models/TemplateNewOrderRequest.cs index 0a57d34..5e03d61 100644 --- a/SslStoreCaProxy/Client/Models/TemplateNewOrderRequest.cs +++ b/SslStoreCaProxy/Client/Models/TemplateNewOrderRequest.cs @@ -16,6 +16,7 @@ public class TemplateNewOrderRequest : ITemplateNewOrderRequest public WebServerType WebServerType { get; set; } [JsonProperty("DNSNames")] public DnsNames DnsNames { get; set; } [JsonProperty("isCUOrder")] public IsCuOrder IsCuOrder { get; set; } + [JsonProperty("AutoWWW", NullValueHandling = NullValueHandling.Ignore)] public AutoWWW AutoWWW { get; set; } [JsonProperty("isRenewalOrder")] public IsRenewalOrder IsRenewalOrder { get; set; } [JsonProperty("isTrialOrder")] public IsTrialOrder IsTrialOrder { get; set; } public TemplateAdminContact AdminContact { get; set; } @@ -149,6 +150,12 @@ public class IsCuOrder public FieldData FieldData { get; set; } } + [JsonObject("AutoWWW",ItemNullValueHandling =NullValueHandling.Ignore)] + public class AutoWWW + { + public FieldData FieldData { get; set; } + } + [JsonObject("isRenewalOrder")] public class IsRenewalOrder { diff --git a/SslStoreCaProxy/Interfaces/INewOrderRequest.cs b/SslStoreCaProxy/Interfaces/INewOrderRequest.cs index 867a2d5..59e87fb 100644 --- a/SslStoreCaProxy/Interfaces/INewOrderRequest.cs +++ b/SslStoreCaProxy/Interfaces/INewOrderRequest.cs @@ -18,6 +18,7 @@ public interface INewOrderRequest string WebServerType { get; set; } List DnsNames { get; set; } bool IsCuOrder { get; set; } + bool? AutoWWW { get; set; } bool IsRenewalOrder { get; set; } string SpecialInstructions { get; set; } string RelatedTheSslStoreOrderId { get; set; } diff --git a/SslStoreCaProxy/Interfaces/ITemplateNewOrderRequest.cs b/SslStoreCaProxy/Interfaces/ITemplateNewOrderRequest.cs index c601dc4..bc46601 100644 --- a/SslStoreCaProxy/Interfaces/ITemplateNewOrderRequest.cs +++ b/SslStoreCaProxy/Interfaces/ITemplateNewOrderRequest.cs @@ -13,6 +13,7 @@ public interface ITemplateNewOrderRequest DomainName DomainName { get; set; } WebServerType WebServerType { get; set; } DnsNames DnsNames { get; set; } + AutoWWW AutoWWW { get; set; } IsCuOrder IsCuOrder { get; set; } IsRenewalOrder IsRenewalOrder { get; set; } IsTrialOrder IsTrialOrder { get; set; } diff --git a/SslStoreCaProxy/RequestManager.cs b/SslStoreCaProxy/RequestManager.cs index d5807bb..8df75a4 100644 --- a/SslStoreCaProxy/RequestManager.cs +++ b/SslStoreCaProxy/RequestManager.cs @@ -35,13 +35,19 @@ public NewOrderRequest GetEnrollmentRequest(string csr, EnrollmentProductInfo pr csr = PemUtilities.DERToPEM(Convert.FromBase64String(csr), PemUtilities.PemObjectType.CertRequest); var sampleRequest = JsonConvert.SerializeObject(configProvider.CAConnectionData["SampleRequest"]); + + var settings = new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + MissingMemberHandling = MissingMemberHandling.Ignore + }; var request = BuildNewOrderRequest(productInfo, - JsonConvert.DeserializeObject(sampleRequest), csr, isRenewalOrder); + JsonConvert.DeserializeObject(sampleRequest, settings), csr, isRenewalOrder); return request; } - public EmailApproverRequest GetEmailApproverListRequest(string productId,string productName) + public EmailApproverRequest GetEmailApproverListRequest(string productId, string productName) { return new EmailApproverRequest() { @@ -81,8 +87,8 @@ public ReIssueRequest GetReIssueRequest(INewOrderResponse orderData, string csr, ReissueEmail = orderData.AdminContact.Email, ApproverEmails = orderData.ApproverEmail, PreferEnrollmentLink = false, - FileAuthDvIndicator = orderData.OrderStatus.DomainAuthVettingStatus == null? false:orderData.OrderStatus.DomainAuthVettingStatus.Exists(x => x.FileName != null), - CNameAuthDvIndicator = orderData.OrderStatus.DomainAuthVettingStatus == null ? false:orderData.OrderStatus.DomainAuthVettingStatus.Exists(x => x.DnsName != null), + FileAuthDvIndicator = orderData.OrderStatus.DomainAuthVettingStatus == null ? false : orderData.OrderStatus.DomainAuthVettingStatus.Exists(x => x.FileName != null), + CNameAuthDvIndicator = orderData.OrderStatus.DomainAuthVettingStatus == null ? false : orderData.OrderStatus.DomainAuthVettingStatus.Exists(x => x.DnsName != null), WebServerType = orderData.WebServerType }; } @@ -177,7 +183,7 @@ public int MapReturnStatus(string sslStoreStatus) break; case "Initial": case "Pending": - returnStatus = PKIConstants.Microsoft.RequestDisposition.PENDING; + returnStatus = PKIConstants.Microsoft.RequestDisposition.EXTERNAL_VALIDATION; break; case "Cancelled": returnStatus = PKIConstants.Microsoft.RequestDisposition.REVOKED; @@ -245,9 +251,9 @@ private NewOrderRequest BuildNewOrderRequest(EnrollmentProductInfo productInfo, new JProperty("AuthRequest", new JObject(new JProperty("PartnerCode", _sslStoreCaProxy.PartnerCode), new JProperty("AuthToken", _sslStoreCaProxy.AuthenticationToken))), - new JProperty("ProductCode", productInfo.ProductID.Replace("-EO","")), + new JProperty("ProductCode", productInfo.ProductID.Replace("-EO", "")), new JProperty("CustomOrderId", customOrderId), - new JProperty("TSSOrganizationId", productInfo.ProductParameters.ContainsKey("Organization ID")?ExtractOrgId(productInfo.ProductParameters["Organization ID"]):null), + new JProperty("TSSOrganizationId", productInfo.ProductParameters.ContainsKey("Organization ID") ? ExtractOrgId(productInfo.ProductParameters["Organization ID"]) : null), new JProperty("OrganizationInfo", new JObject( CreatePropertyFromTemplate("$.OrganizationInfo.OrganizationName", productInfo, @@ -279,6 +285,7 @@ private NewOrderRequest BuildNewOrderRequest(EnrollmentProductInfo productInfo, new JProperty("WebServerType", "Other"), CreatePropertyFromTemplate("$.DNSNames", productInfo, newOrderRequest, true), new JProperty("isCUOrder", false), + CreatePropertyFromTemplate("$.AutoWWW", productInfo, newOrderRequest), new JProperty("IsRenewalOrder", isRenewal), new JProperty("isTrialOrder", false), new JProperty("AdminContact", @@ -345,7 +352,7 @@ private JArray CreateJArrayFromCommaSeparatedList(string csList) private JProperty CreatePropertyFromTemplate(string propertyPath, EnrollmentProductInfo productInfo, TemplateNewOrderRequest newOrderRequest, bool isArray = false) { - var template = (JObject) JToken.FromObject(newOrderRequest); + var template = (JObject)JToken.FromObject(newOrderRequest); var requiredForProducts = new JArray(template.SelectTokens(propertyPath + ".FieldData.RequiredForProducts")); var enrollmentFieldName = template.SelectToken(propertyPath + ".FieldData.EnrollmentFieldMapping"); From 40f0ad32911dad65e3156d9a453610595a933d26 Mon Sep 17 00:00:00 2001 From: Brian Hill Date: Tue, 16 Jan 2024 20:54:30 +0000 Subject: [PATCH 06/14] New Sample Config --- SampleConfig.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SampleConfig.json b/SampleConfig.json index 8ad1ee1..e771860 100644 --- a/SampleConfig.json +++ b/SampleConfig.json @@ -835,6 +835,14 @@ "EnrollmentFieldMapping": "Approver Email" } }, + "AutoWWW": { + "FieldData": { + "RequiredForProducts": [ + "positivessl" + ], + "EnrollmentFieldMapping": "AutoWWW" + } + }, "FileAuthDVIndicator": { "FieldData": { "RequiredForProducts": [ From 51c4e1efd9a4492fe7cad32a8f044b73e1161eac Mon Sep 17 00:00:00 2001 From: Brian Hill <76450501+bhillkeyfactor@users.noreply.github.com> Date: Tue, 16 Jan 2024 15:58:41 -0500 Subject: [PATCH 07/14] Create CHANGELOG.md --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..631ad69 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +v1.1.2 +- Recompiled agains the latest gateway and Bouncy Castle Frameworks + +v1.1.1 +- Fixed error handing to match Hydrant new API Structure + +v1.1.0 +- Added Support for Meta Data In Keyfactor +- Put enroll on a timer to wait for request so Meta Data Could be Pulled down + +v1.0.3: +- Original Release Version From f635d6b7dac741a6bf5206de8190340986903a77 Mon Sep 17 00:00:00 2001 From: Brian Hill Date: Wed, 17 Jan 2024 10:28:45 -0500 Subject: [PATCH 08/14] Updated Documentaiton --- SampleConfig.json | 2162 +++++++++++++++++++++++---------------------- readme_source.md | 16 +- 2 files changed, 1098 insertions(+), 1080 deletions(-) diff --git a/SampleConfig.json b/SampleConfig.json index e771860..dcb3f97 100644 --- a/SampleConfig.json +++ b/SampleConfig.json @@ -1,1080 +1,1084 @@ { - "Security": { - "KEYFACTOR\\administrator": { - "READ": "Allow", - "ENROLL": "Allow", - "OFFICER": "Allow", - "ADMINISTRATOR": "Allow" - }, - "KEYFACTOR\\SVC_AppPool": { - "READ": "Allow", - "ENROLL": "Allow", - "OFFICER": "Allow", - "ADMINISTRATOR": "Allow" - }, - "KEYFACTOR\\SVC_TimerService": { - "READ": "Allow", - "ENROLL": "Allow", - "OFFICER": "Allow", - "ADMINISTRATOR": "Allow" - } - }, - "CAConnection": { - "SSLStoreURL": "https://sandbox-wbapi.thesslstore.com", - "PartnerCode": "SomePartnerCodeFromSSLStore", - "AuthToken": "SomeAuthTokenFromSSLStore", - "KeyfactorApiUrl": "https://kftrain.keyfactor.lab/KeyfactorAPI", - "KeyfactorApiUserId": "SomeKeyfactorAPIUser", - "KeyfactorApiPassword": "SomeKeyfactorAPIPassword", - "PageSize": "25", - "SampleRequest": { - "AuthRequest": { - "PartnerCode": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "None" - } - }, - "AuthToken": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "None" - } - } - }, - "ProductCode": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "None" - } - }, - "TSSOrganizationId": { - "FieldData": { - "RequiredForProducts": [ - "None" - ], - "EnrollmentFieldMapping": "Organization ID" - } - }, - "OrganizationInfo": { - "OrganizationName": { - "FieldData": { - "RequiredForProducts": [ - "digi_plus_ssl", - "digi_wc_ssl", - "digi_md_ssl", - "digi_securesite_md", - "digi_csc", - "digi_securesite", - "digi_securesite_pro", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_csc_ev", - "digi_ev_md_ssl", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_securesite_pro_ev_flex", - "digi_ssl_basic", - "digi_securesite_flex", - "digi_plus_ev_ssl", - "digi_doc_signing_org_2000", - "digi_doc_signing_org_5000", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_truebizid_flex", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex", - "digi_sslwebserver_ev_flex", - "truebizid", - "truebusinessidev", - "truebusinessidevmd", - "truebusinessidwildcard", - "truebizidmdwc", - "truebizidmd", - "malwarescan", - "sslwebserverwildcard", - "thawtecsc", - "sslwebserver", - "sslwebserverev", - "sectigocsc", - "sectigoevssl", - "sectigoevcsc", - "sectigoevmdc", - "sectigoovssl", - "sectigomdc", - "sectigomdcwildcard", - "sectigoovwildcard", - "comodocsc", - "positiveevssl", - "comodoevssl", - "comodoevcsc", - "enterpriseproev", - "enterpriseproevmdc", - "positiveevmdc", - "comodoevmdc", - "comodomdc", - "instantssl", - "instantsslpro", - "comodopremiumssl", - "comodomdcwildcard", - "comodopremiumwildcard", - "comodouccwildcard", - "comodoucc", - "elitessl", - "comodopciscan", - "enterprisessl", - "enterprisepro", - "enterpriseprowc", - "pacenterprise", - "hackerprooftm", - "hgpcicontrolscan" - ], - "EnrollmentFieldMapping": "Organization Name" - } - }, - "RegistrationNumber": { - "FieldData": { - "RequiredForProducts": [ - "certum" - ], - "EnrollmentFieldMapping": "Organization Registration Number" - } - }, - "JurisdictionCountry": { - "FieldData": { - "RequiredForProducts": [ - "comodoevssl", - "comodoevcsc", - "comodoevmdc", - "sectigoevssl", - "sectigoevcsc", - "sectigoevmdc", - "enterpriseproev", - "enterpriseproevmdc", - "positiveevmdc", - "positiveevssl" - ], - "EnrollmentFieldMapping": "Organization Jurisdiction Country" - } - }, - "OrganizationAddress": { - "AddressLine1": { - "FieldData": { - "RequiredForProducts": [ - "digi_plus_ssl", - "digi_wc_ssl", - "digi_md_ssl", - "digi_securesite_md", - "digi_csc", - "digi_securesite", - "digi_securesite_pro", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_csc_ev", - "digi_ev_md_ssl", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_securesite_pro_ev_flex", - "digi_ssl_basic", - "digi_securesite_flex", - "digi_plus_ev_ssl", - "digi_doc_signing_org_2000", - "digi_doc_signing_org_5000", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_truebizid_flex", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex", - "digi_sslwebserver_ev_flex", - "truebizid", - "truebusinessidev", - "truebusinessidevmd", - "truebusinessidwildcard", - "truebizidmdwc", - "truebizidmd", - "malwarescan", - "sslwebserverwildcard", - "thawtecsc", - "sslwebserver", - "sslwebserverev", - "sectigocsc", - "sectigoevssl", - "sectigoevcsc", - "sectigoevmdc", - "sectigoovssl", - "sectigomdc", - "sectigomdcwildcard", - "sectigoovwildcard", - "comodocsc", - "positiveevssl", - "comodoevssl", - "comodoevcsc", - "enterpriseproev", - "enterpriseproevmdc", - "positiveevmdc", - "comodoevmdc", - "comodomdc", - "instantssl", - "instantsslpro", - "comodopremiumssl", - "comodomdcwildcard", - "comodopremiumwildcard", - "comodouccwildcard", - "comodoucc", - "elitessl", - "comodopciscan", - "enterprisessl", - "enterprisepro", - "enterpriseprowc", - "pacenterprise", - "hackerprooftm", - "hgpcicontrolscan" - ], - "EnrollmentFieldMapping": "Organization Address" - } - }, - "Region": { - "FieldData": { - "RequiredForProducts": [ - "digi_plus_ssl", - "digi_wc_ssl", - "digi_md_ssl", - "digi_securesite_md", - "digi_csc", - "digi_securesite", - "digi_securesite_pro", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_csc_ev", - "digi_ev_md_ssl", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_securesite_pro_ev_flex", - "digi_ssl_basic", - "digi_securesite_flex", - "digi_plus_ev_ssl", - "digi_doc_signing_org_2000", - "digi_doc_signing_org_5000", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_truebizid_flex", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex", - "digi_sslwebserver_ev_flex", - "truebizid", - "truebusinessidev", - "truebusinessidevmd", - "truebusinessidwildcard", - "truebizidmdwc", - "truebizidmd", - "malwarescan", - "sslwebserverwildcard", - "thawtecsc", - "sslwebserver", - "sslwebserverev", - "sectigocsc", - "sectigoevssl", - "sectigoevcsc", - "sectigoevmdc", - "sectigoovssl", - "sectigomdc", - "sectigomdcwildcard", - "sectigoovwildcard", - "comodocsc", - "positiveevssl", - "comodoevssl", - "comodoevcsc", - "enterpriseproev", - "enterpriseproevmdc", - "positiveevmdc", - "comodoevmdc", - "comodomdc", - "instantssl", - "instantsslpro", - "comodopremiumssl", - "comodomdcwildcard", - "comodopremiumwildcard", - "comodouccwildcard", - "comodoucc", - "elitessl", - "comodopciscan", - "enterprisessl", - "enterprisepro", - "enterpriseprowc", - "pacenterprise", - "hackerprooftm", - "hgpcicontrolscan" - ], - "EnrollmentFieldMapping": "Organization State/Province" - } - }, - "PostalCode": { - "FieldData": { - "RequiredForProducts": [ - "digi_plus_ssl", - "digi_wc_ssl", - "digi_md_ssl", - "digi_securesite_md", - "digi_csc", - "digi_securesite", - "digi_securesite_pro", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_csc_ev", - "digi_ev_md_ssl", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_securesite_pro_ev_flex", - "digi_ssl_basic", - "digi_securesite_flex", - "digi_plus_ev_ssl", - "digi_doc_signing_org_2000", - "digi_doc_signing_org_5000", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_truebizid_flex", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex", - "digi_sslwebserver_ev_flex", - "truebizid", - "truebusinessidev", - "truebusinessidevmd", - "truebusinessidwildcard", - "truebizidmdwc", - "truebizidmd", - "malwarescan", - "sslwebserverwildcard", - "thawtecsc", - "sslwebserver", - "sslwebserverev", - "sectigocsc", - "sectigoevssl", - "sectigoevcsc", - "sectigoevmdc", - "sectigoovssl", - "sectigomdc", - "sectigomdcwildcard", - "sectigoovwildcard", - "comodocsc", - "positiveevssl", - "comodoevssl", - "comodoevcsc", - "enterpriseproev", - "enterpriseproevmdc", - "positiveevmdc", - "comodoevmdc", - "comodomdc", - "instantssl", - "instantsslpro", - "comodopremiumssl", - "comodomdcwildcard", - "comodopremiumwildcard", - "comodouccwildcard", - "comodoucc", - "elitessl", - "comodopciscan", - "enterprisessl", - "enterprisepro", - "enterpriseprowc", - "pacenterprise", - "hackerprooftm", - "hgpcicontrolscan" - ], - "EnrollmentFieldMapping": "Organization Postal Code" - } - }, - "LocalityName": { - "FieldData": { - "RequiredForProducts": [ - "comodocsc", - "comodoevssl", - "comodoevcsc", - "comodoevmdc", - "comodomdc", - "comodomdcwildcard", - "comodouccwildcard", - "comodoucc", - "pacenterprise" - ], - "EnrollmentFieldMapping": "Organization Locality Name" - } - }, - "Country": { - "FieldData": { - "RequiredForProducts": [ - "truebizidmd", - "digi_ev_md_ssl", - "digi_md_ssl", - "digi_plus_ev_ssl", - "digi_plus_ssl", - "digi_securesite", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_ssl_basic", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev_flex", - "digi_securesite_flex", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex" - ], - "EnrollmentFieldMapping": "Organization Country" - } - }, - "Phone": { - "FieldData": { - "RequiredForProducts": [ - "truebizidmd", - "digi_ev_md_ssl", - "digi_md_ssl", - "digi_plus_ev_ssl", - "digi_plus_ssl", - "digi_securesite", - "digi_securesite_wc", - "digi_securesite_pro_ev", - "digi_securesite_ev_md", - "digi_securesite_ev", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_flex", - "digi_ssl_basic", - "digi_sslwebserver_ev_flex", - "digi_truebizid_ev_flex", - "digi_securesite_flex", - "digi_truebizid_ev", - "digi_truebizid", - "digi_truebizid_ev_md", - "digi_truebizid_wc", - "digi_truebizid_md", - "digi_truebizid_md_wc", - "digi_sslwebserver_ev", - "digi_sslwebserver", - "digi_sslwebserver_wc", - "digi_sslwebserver_md_wc", - "digi_sslwebserver_flex" - ], - "EnrollmentFieldMapping": "Organization Phone" - } - } - } - }, - "ValidityPeriod": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Validity Period (In Months)" - } - }, - "ServerCount": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Server Count" - } - }, - "CSR": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "None" - } - }, - "DomainName": { - "FieldData": { - "RequiredForProducts": [ - "Certum" - ], - "EnrollmentFieldMapping": "Domain Name" - } - }, - "WebServerType": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Web Server Type" - } - }, - "DNSNames": { - "FieldData": { - "RequiredForProducts": [ - "digi_ssl_ev_basic", - "digi_ssl_ev_basic-EO", - "digi_securesite_ev_flex", - "digi_securesite_ev_flex-EO", - "digi_securesite_pro_ev_flex", - "digi_securesite_pro_ev_flex-EO", - "digi_securesite_pro_flex", - "digi_securesite_pro_flex-EO", - "digi_ssl_basic", - "digi_ssl_basic-EO", - "digi_securesite_flex", - "digi_securesite_flex-EO", - "digi_truebizid_flex", - "digi_truebizid_flex-EO", - "digi_truebizid_ev_flex", - "digi_truebizid_ev_flex-EO", - "digi_ssl_dv_geotrust_flex", - "digi_rapidssl", - "digi_rapidssl_wc", - "digi_ssl123_flex", - "digi_sslwebserver_flex", - "digi_sslwebserver_flex-EO", - "digi_sslwebserver_ev_flex", - "digi_sslwebserver_ev_flex-EO", - "positivemdcssl", - "positivemdcwildcard", - "sectigodvucc", - "sectigouccwildcard", - "sectigoevmdc", - "sectigomdcwildcard", - "sectigomdc" - ], - "EnrollmentFieldMapping": "DNS Names Comma Separated", - "Array": true - } - }, - "isCUOrder": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Is CU Order?" - } - }, - "isRenewalOrder": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Is Renewal Order?" - } - }, - "isTrialOrder": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Is Trial Order?" - } - }, - "AdminContact": { - "FirstName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - First Name" - } - }, - "LastName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Last Name" - } - }, - "Phone": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Phone" - } - }, - "Email": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Email" - } - }, - "Title": { - "FieldData": { - "RequiredForProducts": [ - "symantec", - "digi_ssl_ev_basic", - "digi_sslwebserver_ev_flex", - "digi_truebizid_ev_flex", - "digi_securesite_pro_ev_flex", - "digi_securesite_ev_flex" - ], - "EnrollmentFieldMapping": "Admin Contact - Title" - } - }, - "OrganizationName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Organization Name" - } - }, - "AddressLine1": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Address" - } - }, - "City": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - City" - } - }, - "Region": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Region" - } - }, - "PostalCode": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Postal Code" - } - }, - "Country": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Admin Contact - Country" - } - } - }, - "TechnicalContact": { - "FirstName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - First Name" - } - }, - "LastName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Last Name" - } - }, - "SubjectFirstName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Subject First Name" - } - }, - "SubjectLastName": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Subject Last Name" - } - }, - "Phone": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Phone" - } - }, - "Email": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Email" - } - }, - "Title": { - "FieldData": { - "RequiredForProducts": [ - "symantec", - "digi_ssl_ev_basic", - "digi_securesite_ev_flex", - "digi_truebizid_ev_flex", - "digi_sslwebserver_ev_flex" - ], - "EnrollmentFieldMapping": "Technical Contact - Title" - } - }, - "AddressLine1": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Address" - } - }, - "City": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - City" - } - }, - "Region": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Region" - } - }, - "PostalCode": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Postal Code" - } - }, - "Country": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Technical Contact - Country" - } - } - }, - "ApproverEmail": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Approver Email" - } - }, - "AutoWWW": { - "FieldData": { - "RequiredForProducts": [ - "positivessl" - ], - "EnrollmentFieldMapping": "AutoWWW" - } - }, - "FileAuthDVIndicator": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "File Auth Domain Validation" - } - }, - "CNAMEAuthDVIndicator": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "CName Auth Domain Validation" - } - }, - "SignatureHashAlgorithm": { - "FieldData": { - "RequiredForProducts": [ - "All" - ], - "EnrollmentFieldMapping": "Signature Hash Algorithm" - } - } - } - }, - "Templates": { - "positivessl": { - "ProductID": "positivessl", - "Parameters": {} - }, - "positiveevssl": { - "ProductID": "positiveevssl", - "Parameters": {} - }, - "enterpriseproev": { - "ProductID": "enterpriseproev", - "Parameters": {} - }, - "enterpriseproevmdc": { - "ProductID": "enterpriseproevmdc", - "Parameters": {} - }, - "positivesslwildcard": { - "ProductID": "positivesslwildcard", - "Parameters": {} - }, - "positivemdcssl": { - "ProductID": "positivemdcssl", - "Parameters": {} - }, - "positivemdcwildcard": { - "ProductID": "positivemdcwildcard", - "Parameters": {} - }, - "positiveevmdc": { - "ProductID": "positiveevmdc", - "Parameters": {} - }, - "instantssl": { - "ProductID": "instantssl", - "Parameters": {} - }, - "instantsslpro": { - "ProductID": "instantsslpro", - "Parameters": {} - }, - "comodopremiumssl": { - "ProductID": "comodopremiumssl", - "Parameters": {} - }, - "comodopremiumwildcard": { - "ProductID": "comodopremiumwildcard", - "Parameters": {} - }, - "enterprisepro": { - "ProductID": "enterprisepro", - "Parameters": {} - }, - "enterpriseprowc": { - "ProductID": "enterpriseprowc", - "Parameters": {} - }, - "sectigossl": { - "ProductID": "sectigossl", - "Parameters": {} - }, - "sectigodvucc": { - "ProductID": "sectigodvucc", - "Parameters": {} - }, - "sectigoevssl": { - "ProductID": "sectigoevssl", - "Parameters": {} - }, - "sectigoevmdc": { - "ProductID": "sectigoevmdc", - "Parameters": {} - }, - "sectigoovssl": { - "ProductID": "sectigoovssl", - "Parameters": {} - }, - "sectigomdc": { - "ProductID": "sectigomdc", - "Parameters": {} - }, - "sectigomdcwildcard": { - "ProductID": "sectigomdcwildcard", - "Parameters": {} - }, - "sectigoovwildcard": { - "ProductID": "sectigoovwildcard", - "Parameters": {} - }, - "sectigowildcard": { - "ProductID": "sectigowildcard", - "Parameters": {} - }, - "sectigouccwildcard": { - "ProductID": "sectigouccwildcard", - "Parameters": {} - }, - "digi_ssl_ev_basic": { - "ProductID": "digi_ssl_ev_basic", - "Parameters": {} - }, - "digi_ssl_ev_basic-EO": { - "ProductID": "digi_ssl_ev_basic-EO", - "Parameters": {} - }, - "digi_securesite_ev_flex": { - "ProductID": "digi_securesite_ev_flex", - "Parameters": {} - }, - "digi_securesite_ev_flex-EO": { - "ProductID": "digi_securesite_ev_flex-EO", - "Parameters": {} - }, - "digi_securesite_pro_ev_flex": { - "ProductID": "digi_securesite_pro_ev_flex", - "Parameters": {} - }, - "digi_securesite_pro_ev_flex-EO": { - "ProductID": "digi_securesite_pro_ev_flex-EO", - "Parameters": {} - }, - "digi_securesite_pro_flex": { - "ProductID": "digi_securesite_pro_flex", - "Parameters": {} - }, - "digi_securesite_pro_flex-EO": { - "ProductID": "digi_securesite_pro_flex-EO", - "Parameters": {} - }, - "digi_ssl_basic": { - "ProductID": "digi_ssl_basic", - "Parameters": {} - }, - "digi_ssl_basic-EO": { - "ProductID": "digi_ssl_basic-EO", - "Parameters": {} - }, - "digi_securesite_flex": { - "ProductID": "digi_securesite_flex", - "Parameters": {} - }, - "digi_securesite_flex-EO": { - "ProductID": "digi_securesite_flex-EO", - "Parameters": {} - }, - "digi_truebizid_flex": { - "ProductID": "digi_truebizid_flex", - "Parameters": {} - }, - "digi_truebizid_flex-EO": { - "ProductID": "digi_truebizid_flex-EO", - "Parameters": {} - }, - "digi_truebizid_ev_flex": { - "ProductID": "digi_truebizid_ev_flex", - "Parameters": {} - }, - "digi_truebizid_ev_flex-EO": { - "ProductID": "digi_truebizid_ev_flex-EO", - "Parameters": {} - }, - "digi_ssl_dv_geotrust_flex": { - "ProductID": "digi_ssl_dv_geotrust_flex", - "Parameters": {} - }, - "digi_rapidssl": { - "ProductID": "digi_rapidssl", - "Parameters": {} - }, - "digi_rapidssl_wc": { - "ProductID": "digi_rapidssl_wc", - "Parameters": {} - }, - "digi_ssl123_flex": { - "ProductID": "digi_ssl123_flex", - "Parameters": {} - }, - "digi_sslwebserver_flex": { - "ProductID": "digi_sslwebserver_flex", - "Parameters": {} - }, - "digi_sslwebserver_flex-EO": { - "ProductID": "digi_sslwebserver_flex-EO", - "Parameters": {} - }, - "digi_sslwebserver_ev_flex": { - "ProductID": "digi_sslwebserver_ev_flex", - "Parameters": {} - }, - "digi_sslwebserver_ev_flex-EO": { - "ProductID": "digi_sslwebserver_ev_flex-EO", - "Parameters": {} - } - }, - "CertificateManagers": null, - "GatewayRegistration": { - "LogicalName": "SSLStore", - "GatewayCertificate": { - "StoreName": "CA", - "StoreLocation": "LocalMachine", - "Thumbprint": "339cdd57cfd5b141169b615ff31428782d1da639" - } - }, - "ServiceSettings": { - "ViewIdleMinutes": 1, - "FullScanPeriodHours": 1, - "PartialScanPeriodMinutes": 1 - } -} + "Security": { + "KEYFACTOR\\administrator": { + "READ": "Allow", + "ENROLL": "Allow", + "OFFICER": "Allow", + "ADMINISTRATOR": "Allow" + }, + "KEYFACTOR\\SVC_AppPool": { + "READ": "Allow", + "ENROLL": "Allow", + "OFFICER": "Allow", + "ADMINISTRATOR": "Allow" + }, + "KEYFACTOR\\SVC_TimerService": { + "READ": "Allow", + "ENROLL": "Allow", + "OFFICER": "Allow", + "ADMINISTRATOR": "Allow" + } + }, + "CAConnection": { + "SSLStoreURL": "https://sandbox-wbapi.thesslstore.com", + "PartnerCode": "SomePartnerCodeFromSSLStore", + "AuthToken": "SomeAuthTokenFromSSLStore", + "KeyfactorApiUrl": "https://kftrain.keyfactor.lab/KeyfactorAPI", + "KeyfactorApiUserId": "SomeKeyfactorAPIUser", + "KeyfactorApiPassword": "SomeKeyfactorAPIPassword", + "PageSize": "25", + "SampleRequest": { + "AuthRequest": { + "PartnerCode": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "None" + } + }, + "AuthToken": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "None" + } + } + }, + "ProductCode": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "None" + } + }, + "TSSOrganizationId": { + "FieldData": { + "RequiredForProducts": [ + "None" + ], + "EnrollmentFieldMapping": "Organization ID" + } + }, + "OrganizationInfo": { + "OrganizationName": { + "FieldData": { + "RequiredForProducts": [ + "digi_plus_ssl", + "digi_wc_ssl", + "digi_md_ssl", + "digi_securesite_md", + "digi_csc", + "digi_securesite", + "digi_securesite_pro", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_csc_ev", + "digi_ev_md_ssl", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_securesite_pro_ev_flex", + "digi_ssl_basic", + "digi_securesite_flex", + "digi_plus_ev_ssl", + "digi_doc_signing_org_2000", + "digi_doc_signing_org_5000", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_truebizid_flex", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex", + "digi_sslwebserver_ev_flex", + "truebizid", + "truebusinessidev", + "truebusinessidevmd", + "truebusinessidwildcard", + "truebizidmdwc", + "truebizidmd", + "malwarescan", + "sslwebserverwildcard", + "thawtecsc", + "sslwebserver", + "sslwebserverev", + "sectigocsc", + "sectigoevssl", + "sectigoevcsc", + "sectigoevmdc", + "sectigoovssl", + "sectigomdc", + "sectigomdcwildcard", + "sectigoovwildcard", + "comodocsc", + "positiveevssl", + "comodoevssl", + "comodoevcsc", + "enterpriseproev", + "enterpriseproevmdc", + "positiveevmdc", + "comodoevmdc", + "comodomdc", + "instantssl", + "instantsslpro", + "comodopremiumssl", + "comodomdcwildcard", + "comodopremiumwildcard", + "comodouccwildcard", + "comodoucc", + "elitessl", + "comodopciscan", + "enterprisessl", + "enterprisepro", + "enterpriseprowc", + "pacenterprise", + "hackerprooftm", + "hgpcicontrolscan" + ], + "EnrollmentFieldMapping": "Organization Name" + } + }, + "RegistrationNumber": { + "FieldData": { + "RequiredForProducts": [ + "certum" + ], + "EnrollmentFieldMapping": "Organization Registration Number" + } + }, + "JurisdictionCountry": { + "FieldData": { + "RequiredForProducts": [ + "comodoevssl", + "comodoevcsc", + "comodoevmdc", + "sectigoevssl", + "sectigoevcsc", + "sectigoevmdc", + "enterpriseproev", + "enterpriseproevmdc", + "positiveevmdc", + "positiveevssl" + ], + "EnrollmentFieldMapping": "Organization Jurisdiction Country" + } + }, + "OrganizationAddress": { + "AddressLine1": { + "FieldData": { + "RequiredForProducts": [ + "digi_plus_ssl", + "digi_wc_ssl", + "digi_md_ssl", + "digi_securesite_md", + "digi_csc", + "digi_securesite", + "digi_securesite_pro", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_csc_ev", + "digi_ev_md_ssl", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_securesite_pro_ev_flex", + "digi_ssl_basic", + "digi_securesite_flex", + "digi_plus_ev_ssl", + "digi_doc_signing_org_2000", + "digi_doc_signing_org_5000", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_truebizid_flex", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex", + "digi_sslwebserver_ev_flex", + "truebizid", + "truebusinessidev", + "truebusinessidevmd", + "truebusinessidwildcard", + "truebizidmdwc", + "truebizidmd", + "malwarescan", + "sslwebserverwildcard", + "thawtecsc", + "sslwebserver", + "sslwebserverev", + "sectigocsc", + "sectigoevssl", + "sectigoevcsc", + "sectigoevmdc", + "sectigoovssl", + "sectigomdc", + "sectigomdcwildcard", + "sectigoovwildcard", + "comodocsc", + "positiveevssl", + "comodoevssl", + "comodoevcsc", + "enterpriseproev", + "enterpriseproevmdc", + "positiveevmdc", + "comodoevmdc", + "comodomdc", + "instantssl", + "instantsslpro", + "comodopremiumssl", + "comodomdcwildcard", + "comodopremiumwildcard", + "comodouccwildcard", + "comodoucc", + "elitessl", + "comodopciscan", + "enterprisessl", + "enterprisepro", + "enterpriseprowc", + "pacenterprise", + "hackerprooftm", + "hgpcicontrolscan" + ], + "EnrollmentFieldMapping": "Organization Address" + } + }, + "Region": { + "FieldData": { + "RequiredForProducts": [ + "digi_plus_ssl", + "digi_wc_ssl", + "digi_md_ssl", + "digi_securesite_md", + "digi_csc", + "digi_securesite", + "digi_securesite_pro", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_csc_ev", + "digi_ev_md_ssl", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_securesite_pro_ev_flex", + "digi_ssl_basic", + "digi_securesite_flex", + "digi_plus_ev_ssl", + "digi_doc_signing_org_2000", + "digi_doc_signing_org_5000", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_truebizid_flex", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex", + "digi_sslwebserver_ev_flex", + "truebizid", + "truebusinessidev", + "truebusinessidevmd", + "truebusinessidwildcard", + "truebizidmdwc", + "truebizidmd", + "malwarescan", + "sslwebserverwildcard", + "thawtecsc", + "sslwebserver", + "sslwebserverev", + "sectigocsc", + "sectigoevssl", + "sectigoevcsc", + "sectigoevmdc", + "sectigoovssl", + "sectigomdc", + "sectigomdcwildcard", + "sectigoovwildcard", + "comodocsc", + "positiveevssl", + "comodoevssl", + "comodoevcsc", + "enterpriseproev", + "enterpriseproevmdc", + "positiveevmdc", + "comodoevmdc", + "comodomdc", + "instantssl", + "instantsslpro", + "comodopremiumssl", + "comodomdcwildcard", + "comodopremiumwildcard", + "comodouccwildcard", + "comodoucc", + "elitessl", + "comodopciscan", + "enterprisessl", + "enterprisepro", + "enterpriseprowc", + "pacenterprise", + "hackerprooftm", + "hgpcicontrolscan" + ], + "EnrollmentFieldMapping": "Organization State/Province" + } + }, + "PostalCode": { + "FieldData": { + "RequiredForProducts": [ + "digi_plus_ssl", + "digi_wc_ssl", + "digi_md_ssl", + "digi_securesite_md", + "digi_csc", + "digi_securesite", + "digi_securesite_pro", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_csc_ev", + "digi_ev_md_ssl", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_securesite_pro_ev_flex", + "digi_ssl_basic", + "digi_securesite_flex", + "digi_plus_ev_ssl", + "digi_doc_signing_org_2000", + "digi_doc_signing_org_5000", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_truebizid_flex", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex", + "digi_sslwebserver_ev_flex", + "truebizid", + "truebusinessidev", + "truebusinessidevmd", + "truebusinessidwildcard", + "truebizidmdwc", + "truebizidmd", + "malwarescan", + "sslwebserverwildcard", + "thawtecsc", + "sslwebserver", + "sslwebserverev", + "sectigocsc", + "sectigoevssl", + "sectigoevcsc", + "sectigoevmdc", + "sectigoovssl", + "sectigomdc", + "sectigomdcwildcard", + "sectigoovwildcard", + "comodocsc", + "positiveevssl", + "comodoevssl", + "comodoevcsc", + "enterpriseproev", + "enterpriseproevmdc", + "positiveevmdc", + "comodoevmdc", + "comodomdc", + "instantssl", + "instantsslpro", + "comodopremiumssl", + "comodomdcwildcard", + "comodopremiumwildcard", + "comodouccwildcard", + "comodoucc", + "elitessl", + "comodopciscan", + "enterprisessl", + "enterprisepro", + "enterpriseprowc", + "pacenterprise", + "hackerprooftm", + "hgpcicontrolscan" + ], + "EnrollmentFieldMapping": "Organization Postal Code" + } + }, + "LocalityName": { + "FieldData": { + "RequiredForProducts": [ + "comodocsc", + "comodoevssl", + "comodoevcsc", + "comodoevmdc", + "comodomdc", + "comodomdcwildcard", + "comodouccwildcard", + "comodoucc", + "pacenterprise" + ], + "EnrollmentFieldMapping": "Organization Locality Name" + } + }, + "Country": { + "FieldData": { + "RequiredForProducts": [ + "truebizidmd", + "digi_ev_md_ssl", + "digi_md_ssl", + "digi_plus_ev_ssl", + "digi_plus_ssl", + "digi_securesite", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_ssl_basic", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev_flex", + "digi_securesite_flex", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex" + ], + "EnrollmentFieldMapping": "Organization Country" + } + }, + "Phone": { + "FieldData": { + "RequiredForProducts": [ + "truebizidmd", + "digi_ev_md_ssl", + "digi_md_ssl", + "digi_plus_ev_ssl", + "digi_plus_ssl", + "digi_securesite", + "digi_securesite_wc", + "digi_securesite_pro_ev", + "digi_securesite_ev_md", + "digi_securesite_ev", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_flex", + "digi_ssl_basic", + "digi_sslwebserver_ev_flex", + "digi_truebizid_ev_flex", + "digi_securesite_flex", + "digi_truebizid_ev", + "digi_truebizid", + "digi_truebizid_ev_md", + "digi_truebizid_wc", + "digi_truebizid_md", + "digi_truebizid_md_wc", + "digi_sslwebserver_ev", + "digi_sslwebserver", + "digi_sslwebserver_wc", + "digi_sslwebserver_md_wc", + "digi_sslwebserver_flex" + ], + "EnrollmentFieldMapping": "Organization Phone" + } + } + } + }, + "ValidityPeriod": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Validity Period (In Months)" + } + }, + "ServerCount": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Server Count" + } + }, + "CSR": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "None" + } + }, + "DomainName": { + "FieldData": { + "RequiredForProducts": [ + "Certum" + ], + "EnrollmentFieldMapping": "Domain Name" + } + }, + "WebServerType": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Web Server Type" + } + }, + "DNSNames": { + "FieldData": { + "RequiredForProducts": [ + "digi_ssl_ev_basic", + "digi_ssl_ev_basic-EO", + "digi_securesite_ev_flex", + "digi_securesite_ev_flex-EO", + "digi_securesite_pro_ev_flex", + "digi_securesite_pro_ev_flex-EO", + "digi_securesite_pro_flex", + "digi_securesite_pro_flex-EO", + "digi_ssl_basic", + "digi_ssl_basic-EO", + "digi_securesite_flex", + "digi_securesite_flex-EO", + "digi_truebizid_flex", + "digi_truebizid_flex-EO", + "digi_truebizid_ev_flex", + "digi_truebizid_ev_flex-EO", + "digi_ssl_dv_geotrust_flex", + "digi_rapidssl", + "digi_rapidssl_wc", + "digi_ssl123_flex", + "digi_sslwebserver_flex", + "digi_sslwebserver_flex-EO", + "digi_sslwebserver_ev_flex", + "digi_sslwebserver_ev_flex-EO", + "positivemdcssl", + "positivemdcwildcard", + "sectigodvucc", + "sectigouccwildcard", + "sectigoevmdc", + "sectigomdcwildcard", + "sectigomdc" + ], + "EnrollmentFieldMapping": "DNS Names Comma Separated", + "Array": true + } + }, + "isCUOrder": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Is CU Order?" + } + }, + "isRenewalOrder": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Is Renewal Order?" + } + }, + "isTrialOrder": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Is Trial Order?" + } + }, + "AdminContact": { + "FirstName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - First Name" + } + }, + "LastName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Last Name" + } + }, + "Phone": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Phone" + } + }, + "Email": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Email" + } + }, + "Title": { + "FieldData": { + "RequiredForProducts": [ + "symantec", + "digi_ssl_ev_basic", + "digi_sslwebserver_ev_flex", + "digi_truebizid_ev_flex", + "digi_securesite_pro_ev_flex", + "digi_securesite_ev_flex" + ], + "EnrollmentFieldMapping": "Admin Contact - Title" + } + }, + "OrganizationName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Organization Name" + } + }, + "AddressLine1": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Address" + } + }, + "City": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - City" + } + }, + "Region": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Region" + } + }, + "PostalCode": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Postal Code" + } + }, + "Country": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Admin Contact - Country" + } + } + }, + "TechnicalContact": { + "FirstName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - First Name" + } + }, + "LastName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Last Name" + } + }, + "SubjectFirstName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Subject First Name" + } + }, + "SubjectLastName": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Subject Last Name" + } + }, + "Phone": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Phone" + } + }, + "Email": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Email" + } + }, + "Title": { + "FieldData": { + "RequiredForProducts": [ + "symantec", + "digi_ssl_ev_basic", + "digi_securesite_ev_flex", + "digi_truebizid_ev_flex", + "digi_sslwebserver_ev_flex" + ], + "EnrollmentFieldMapping": "Technical Contact - Title" + } + }, + "AddressLine1": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Address" + } + }, + "City": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - City" + } + }, + "Region": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Region" + } + }, + "PostalCode": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Postal Code" + } + }, + "Country": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Technical Contact - Country" + } + } + }, + "ApproverEmail": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Approver Email" + } + }, + "AutoWWW": { + "FieldData": { + "RequiredForProducts": [ + "positivessl" + ], + "EnrollmentFieldMapping": "AutoWWW" + } + }, + "FileAuthDVIndicator": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "File Auth Domain Validation" + } + }, + "CNAMEAuthDVIndicator": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "CName Auth Domain Validation" + } + }, + "SignatureHashAlgorithm": { + "FieldData": { + "RequiredForProducts": [ + "All" + ], + "EnrollmentFieldMapping": "Signature Hash Algorithm" + } + } + } + }, + "Templates": { + "positivessl": { + "ProductID": "positivessl", + "Parameters": { + "Parameters": { + "AutoWWW": "True" + } + } + }, + "positiveevssl": { + "ProductID": "positiveevssl", + "Parameters": {} + }, + "enterpriseproev": { + "ProductID": "enterpriseproev", + "Parameters": {} + }, + "enterpriseproevmdc": { + "ProductID": "enterpriseproevmdc", + "Parameters": {} + }, + "positivesslwildcard": { + "ProductID": "positivesslwildcard", + "Parameters": {} + }, + "positivemdcssl": { + "ProductID": "positivemdcssl", + "Parameters": {} + }, + "positivemdcwildcard": { + "ProductID": "positivemdcwildcard", + "Parameters": {} + }, + "positiveevmdc": { + "ProductID": "positiveevmdc", + "Parameters": {} + }, + "instantssl": { + "ProductID": "instantssl", + "Parameters": {} + }, + "instantsslpro": { + "ProductID": "instantsslpro", + "Parameters": {} + }, + "comodopremiumssl": { + "ProductID": "comodopremiumssl", + "Parameters": {} + }, + "comodopremiumwildcard": { + "ProductID": "comodopremiumwildcard", + "Parameters": {} + }, + "enterprisepro": { + "ProductID": "enterprisepro", + "Parameters": {} + }, + "enterpriseprowc": { + "ProductID": "enterpriseprowc", + "Parameters": {} + }, + "sectigossl": { + "ProductID": "sectigossl", + "Parameters": {} + }, + "sectigodvucc": { + "ProductID": "sectigodvucc", + "Parameters": {} + }, + "sectigoevssl": { + "ProductID": "sectigoevssl", + "Parameters": {} + }, + "sectigoevmdc": { + "ProductID": "sectigoevmdc", + "Parameters": {} + }, + "sectigoovssl": { + "ProductID": "sectigoovssl", + "Parameters": {} + }, + "sectigomdc": { + "ProductID": "sectigomdc", + "Parameters": {} + }, + "sectigomdcwildcard": { + "ProductID": "sectigomdcwildcard", + "Parameters": {} + }, + "sectigoovwildcard": { + "ProductID": "sectigoovwildcard", + "Parameters": {} + }, + "sectigowildcard": { + "ProductID": "sectigowildcard", + "Parameters": {} + }, + "sectigouccwildcard": { + "ProductID": "sectigouccwildcard", + "Parameters": {} + }, + "digi_ssl_ev_basic": { + "ProductID": "digi_ssl_ev_basic", + "Parameters": {} + }, + "digi_ssl_ev_basic-EO": { + "ProductID": "digi_ssl_ev_basic-EO", + "Parameters": {} + }, + "digi_securesite_ev_flex": { + "ProductID": "digi_securesite_ev_flex", + "Parameters": {} + }, + "digi_securesite_ev_flex-EO": { + "ProductID": "digi_securesite_ev_flex-EO", + "Parameters": {} + }, + "digi_securesite_pro_ev_flex": { + "ProductID": "digi_securesite_pro_ev_flex", + "Parameters": {} + }, + "digi_securesite_pro_ev_flex-EO": { + "ProductID": "digi_securesite_pro_ev_flex-EO", + "Parameters": {} + }, + "digi_securesite_pro_flex": { + "ProductID": "digi_securesite_pro_flex", + "Parameters": {} + }, + "digi_securesite_pro_flex-EO": { + "ProductID": "digi_securesite_pro_flex-EO", + "Parameters": {} + }, + "digi_ssl_basic": { + "ProductID": "digi_ssl_basic", + "Parameters": {} + }, + "digi_ssl_basic-EO": { + "ProductID": "digi_ssl_basic-EO", + "Parameters": {} + }, + "digi_securesite_flex": { + "ProductID": "digi_securesite_flex", + "Parameters": {} + }, + "digi_securesite_flex-EO": { + "ProductID": "digi_securesite_flex-EO", + "Parameters": {} + }, + "digi_truebizid_flex": { + "ProductID": "digi_truebizid_flex", + "Parameters": {} + }, + "digi_truebizid_flex-EO": { + "ProductID": "digi_truebizid_flex-EO", + "Parameters": {} + }, + "digi_truebizid_ev_flex": { + "ProductID": "digi_truebizid_ev_flex", + "Parameters": {} + }, + "digi_truebizid_ev_flex-EO": { + "ProductID": "digi_truebizid_ev_flex-EO", + "Parameters": {} + }, + "digi_ssl_dv_geotrust_flex": { + "ProductID": "digi_ssl_dv_geotrust_flex", + "Parameters": {} + }, + "digi_rapidssl": { + "ProductID": "digi_rapidssl", + "Parameters": {} + }, + "digi_rapidssl_wc": { + "ProductID": "digi_rapidssl_wc", + "Parameters": {} + }, + "digi_ssl123_flex": { + "ProductID": "digi_ssl123_flex", + "Parameters": {} + }, + "digi_sslwebserver_flex": { + "ProductID": "digi_sslwebserver_flex", + "Parameters": {} + }, + "digi_sslwebserver_flex-EO": { + "ProductID": "digi_sslwebserver_flex-EO", + "Parameters": {} + }, + "digi_sslwebserver_ev_flex": { + "ProductID": "digi_sslwebserver_ev_flex", + "Parameters": {} + }, + "digi_sslwebserver_ev_flex-EO": { + "ProductID": "digi_sslwebserver_ev_flex-EO", + "Parameters": {} + } + }, + "CertificateManagers": null, + "GatewayRegistration": { + "LogicalName": "SSLStore", + "GatewayCertificate": { + "StoreName": "CA", + "StoreLocation": "LocalMachine", + "Thumbprint": "339cdd57cfd5b141169b615ff31428782d1da639" + } + }, + "ServiceSettings": { + "ViewIdleMinutes": 1, + "FullScanPeriodHours": 1, + "PartialScanPeriodMinutes": 1 + } +} \ No newline at end of file diff --git a/readme_source.md b/readme_source.md index 3ee9480..a099317 100644 --- a/readme_source.md +++ b/readme_source.md @@ -947,6 +947,14 @@ the CA. Without the imported configuration, the service will fail to start. } } }, + "AutoWWW": { + "FieldData": { + "RequiredForProducts": [ + "positivessl" + ], + "EnrollmentFieldMapping": "AutoWWW" + } + }, "ApproverEmail": { "FieldData": { "RequiredForProducts": [ @@ -988,7 +996,9 @@ the CA. Without the imported configuration, the service will fail to start. "Templates": { "positivessl": { "ProductID": "positivessl", - "Parameters": {} + "Parameters": { + "AutoWWW": "True" + } }, "positiveevssl": { "ProductID": "positiveevssl", @@ -1223,6 +1233,10 @@ Set-KeyfactorGatewayConfig -LogicalName "SSLStore" -FilePath [path to json file] ``` 3) Command Server - Import the certificate authority in Keyfactor Portal +### Release 1.1 Notes +-Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. +It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. + *** ### License From 6657403f2718393061ca4f639eb0aa9616c130c2 Mon Sep 17 00:00:00 2001 From: Brian Hill Date: Wed, 17 Jan 2024 10:30:15 -0500 Subject: [PATCH 09/14] Updated Documentaiton --- readme_source.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme_source.md b/readme_source.md index a099317..acab31b 100644 --- a/readme_source.md +++ b/readme_source.md @@ -1234,8 +1234,7 @@ Set-KeyfactorGatewayConfig -LogicalName "SSLStore" -FilePath [path to json file] 3) Command Server - Import the certificate authority in Keyfactor Portal ### Release 1.1 Notes --Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. -It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. +-Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. *** From 3c50a377cd1e6d4286e6fa4cacb6a0e0aa8ea189 Mon Sep 17 00:00:00 2001 From: Brian Hill Date: Wed, 17 Jan 2024 10:33:20 -0500 Subject: [PATCH 10/14] Updated Documentaiton --- readme_source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme_source.md b/readme_source.md index acab31b..d30820f 100644 --- a/readme_source.md +++ b/readme_source.md @@ -1234,7 +1234,7 @@ Set-KeyfactorGatewayConfig -LogicalName "SSLStore" -FilePath [path to json file] 3) Command Server - Import the certificate authority in Keyfactor Portal ### Release 1.1 Notes --Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. +Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. *** From d89cd130914d7b895175877496a2988dc087b006 Mon Sep 17 00:00:00 2001 From: Brian Hill <76450501+bhillkeyfactor@users.noreply.github.com> Date: Wed, 17 Jan 2024 10:35:24 -0500 Subject: [PATCH 11/14] Update CHANGELOG.md --- CHANGELOG.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 631ad69..70bb7f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,5 @@ -v1.1.2 -- Recompiled agains the latest gateway and Bouncy Castle Frameworks - -v1.1.1 -- Fixed error handing to match Hydrant new API Structure - v1.1.0 -- Added Support for Meta Data In Keyfactor -- Put enroll on a timer to wait for request so Meta Data Could be Pulled down +- Added new AutoWWW field for single domain SSL Store products -v1.0.3: +v1.0.4: - Original Release Version From 797f9b36b9035d518985694d222879b6c557f4e5 Mon Sep 17 00:00:00 2001 From: Michael Henderson Date: Thu, 18 Jan 2024 09:03:08 -0800 Subject: [PATCH 12/14] update to bootstrap workflow --- .../keyfactor-bootstrap-workflow.yml | 19 +++ .../keyfactor-extension-generate-readme.yml | 27 ---- .../workflows/keyfactor-extension-release.yml | 127 ------------------ .../keyfactor-extension-update-catalog.yml | 34 ----- .../workflows/keyfactor-starter-workflow.yml | 26 ---- integration-manifest.json | 14 +- 6 files changed, 28 insertions(+), 219 deletions(-) create mode 100644 .github/workflows/keyfactor-bootstrap-workflow.yml delete mode 100644 .github/workflows/keyfactor-extension-generate-readme.yml delete mode 100644 .github/workflows/keyfactor-extension-release.yml delete mode 100644 .github/workflows/keyfactor-extension-update-catalog.yml delete mode 100644 .github/workflows/keyfactor-starter-workflow.yml diff --git a/.github/workflows/keyfactor-bootstrap-workflow.yml b/.github/workflows/keyfactor-bootstrap-workflow.yml new file mode 100644 index 0000000..aa54b9c --- /dev/null +++ b/.github/workflows/keyfactor-bootstrap-workflow.yml @@ -0,0 +1,19 @@ +name: Keyfactor Bootstrap Workflow + +on: + workflow_dispatch: + pull_request: + types: [opened, closed, synchronize, edited, reopened] + push: + create: + branches: + - 'release-*.*' + +jobs: + call-starter-workflow: + uses: keyfactor/actions/.github/workflows/starter.yml@v2 + secrets: + token: ${{ secrets.V2BUILDTOKEN}} + APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}} + gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }} + gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }} \ No newline at end of file diff --git a/.github/workflows/keyfactor-extension-generate-readme.yml b/.github/workflows/keyfactor-extension-generate-readme.yml deleted file mode 100644 index 8b82c7e..0000000 --- a/.github/workflows/keyfactor-extension-generate-readme.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Update README -on: [push, workflow_dispatch] - -jobs: - update_readme: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - - uses: cuchi/jinja2-action@v1.2.0 - with: - template: README.md.tpl - output_file: README.md - data_file: integration-manifest.json - env: - GITHUB_TOKEN: ${{ secrets.SDK_SYNC_PAT }} - - - uses: stefanzweifel/git-auto-commit-action@v4 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - push_options: '--force' - commit_message: Update generated README - commit_user_name: Keyfactor - commit_user_email: keyfactor@keyfactor.github.io - commit_author: Keyfactor diff --git a/.github/workflows/keyfactor-extension-release.yml b/.github/workflows/keyfactor-extension-release.yml deleted file mode 100644 index d2c4ca4..0000000 --- a/.github/workflows/keyfactor-extension-release.yml +++ /dev/null @@ -1,127 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Keyfactor Extension - Release - -env: - project_folder: SslStoreCaProxy - -# Controls when the action will run. -on: - # Triggers the workflow on pull requests closing - pull_request: - # only run this workflow when closing a PR to a branch that contains a release number. ignore -pre - branches: - - 'release-[0-9]+.[0-9]+' - - '!release-[0-9]+.[0-9]+-pre' - types: [closed] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # run if pull request is completed and merged, or if manually dispatched - if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true) - - # The type of runner that the job will run on - runs-on: windows-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - - name: Setup Envrionment - id: setup_env - run: | - echo "Setup Envrionment Variables for Workflow" - echo "Working Path: ${Env:GITHUB_WORKSPACE}" - $slnPath = (Get-ChildItem -Include *.sln -File -Recurse).fullname - $relName = "${{ github.ref }}".Split("/") - $repoName = "${{ github.repository }}".Split("/") - echo "Solution File Path: ${slnPath}" - echo "SOLUTION_PATH=${slnPath}" | Out-File $env:GITHUB_ENV -Encoding utf8 -Append - echo "Release Name: $($relName[-1])" - echo "RELEASE_NAME=$($relName[-1])" | Out-File $env:GITHUB_ENV -Encoding utf8 -Append - echo "Repo Name: $($repoName[-1])" - echo "REPO_NAME=$($repoName[-1])" | Out-File $env:GITHUB_ENV -Encoding utf8 -Append - - - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '3.1.x' # SDK Version to use; x will use the latest version of the 3.1 channel - #dotnet-version: - - - name: Add Package Source - run: | - dotnet nuget add source https://nuget.pkg.github.com/Keyfactor/index.json -n github -u ${{ github.actor }} -p ${{ secrets.BUILD_PACKAGE_ACCESS }} --store-password-in-clear-text - - # Configures msbuild path envrionment - - name: setup-msbuild - uses: microsoft/setup-msbuild@v1 - - # Restores Packages to Local Machine - - name: restore nuget packages - run: | - nuget restore ${{ env.SOLUTION_PATH }} - - - name: Create Release - id: create_release - #uses: zendesk/action-create-release@v1 - uses: keyfactor/action-create-release@786b73035fa09790f9eb11bb86834a6d7af1c256 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - release_name: Release ${{ env.RELEASE_NAME }} - body: | - [Changelog](../CHANGELOG.MD) - draft: false - prerelease: false - auto_increment_type: patch - tag_schema: semantic - commitish: ${{ github.sha }} - - #update version number of AssemblyInfo.cs file - - name: Increment Assembly Version - run: | - $VersionRegex = "\d+\.\d+\.\d+" - $assemblyInfoFiles = (Get-ChildItem -Include AssemblyInfo.cs -File -Recurse).fullname - foreach ($assemblyInfoFile in $assemblyInfoFiles) - { - $filecontent = Get-Content($assemblyInfoFile) - $newVer = "${{ steps.create_release.outputs.current_tag }}".TrimStart('v') - attrib $assemblyInfoFile -r - $filecontent -replace $VersionRegex, $newVer | Out-File $assemblyInfoFile - } - - - name: Execute MSBuild Commands - run: | - MSBuild.exe $Env:SOLUTION_PATH -p:RestorePackagesConfig=false -p:Configuration=Release - - - name: Archive Files - if: ${{ success() }} - run: | - md ${{ github.workspace }}\zip\Keyfactor - Compress-Archive -Path ${{ github.workspace }}\${{env.project_folder}}\bin\Release\*.dll,${{ github.workspace }}\${{env.project_folder}}\bin\Release\*.json -DestinationPath ${{ github.workspace }}\zip\Keyfactor\$Env:REPO_NAME.zip -Force - - - name: Upload Release Asset (x64) - if: ${{ success() }} - id: upload-release-asset-x64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ github.workspace }}\zip\Keyfactor\${{ env.REPO_NAME}}.zip - asset_name: ${{ env.REPO_NAME}}_${{ steps.create_release.outputs.current_tag }}.zip - asset_content_type: application/zip - - - name: On Failure - Remove Tags and Release - if: ${{ failure() }} - uses: dev-drprasad/delete-tag-and-release@v0.2.0 - with: - delete_release: true # default: false - tag_name: ${{ steps.create_release.outputs.current_tag }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/keyfactor-extension-update-catalog.yml b/.github/workflows/keyfactor-extension-update-catalog.yml deleted file mode 100644 index ab7942e..0000000 --- a/.github/workflows/keyfactor-extension-update-catalog.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Generate Catalog Entry -on: [push, workflow_dispatch] - -jobs: - generate_entry: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@main - - - uses: actions/checkout@v2 - with: - token: ${{ secrets.SDK_SYNC_PAT }} - path: './catalog-temp/' - repository: 'Keyfactor/integrations-catalog' - - - uses: cuchi/jinja2-action@v1.2.0 - with: - template: ./catalog-temp/_integration.md.tpl - output_file: ${{ format('./catalog-temp/_integrations/{0}.md', github.event.repository.name) }} - data_file: integration-manifest.json - variables: | - repository= ${{ format('https://github.com/{0}', github.repository) }} - env: - GITHUB_TOKEN: ${{ secrets.SDK_SYNC_PAT }} - - - uses: EndBug/add-and-commit@v7 - with: - author_name: 'Keyfactor' - author_email: 'keyfactor@keyfactor.github.io' - branch: 'main' - message: ${{ format('Added the manifest for {0}', github.event.repository.name) }} - add: ${{ format('_integrations/{0}.md --force', github.event.repository.name) }} - cwd: './catalog-temp/' diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml deleted file mode 100644 index d2053a7..0000000 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Starter Workflow -on: [workflow_dispatch, push, pull_request] - -jobs: - call-create-github-release-workflow: - uses: Keyfactor/actions/.github/workflows/github-release.yml@main - - call-dotnet-build-and-release-workflow: - needs: [call-create-github-release-workflow] - uses: Keyfactor/actions/.github/workflows/dotnet-build-and-release.yml@main - with: - release_version: ${{ needs.call-create-github-release-workflow.outputs.release_version }} - release_url: ${{ needs.call-create-github-release-workflow.outputs.release_url }} - release_dir: SslStoreCaProxy/bin/Release # TODO: set build output directory to upload as a release, relative to checkout workspace - secrets: - token: ${{ secrets.PRIVATE_PACKAGE_ACCESS }} - - call-generate-readme-workflow: - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' - uses: Keyfactor/actions/.github/workflows/generate-readme.yml@main - - call-update-catalog-workflow: - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' - uses: Keyfactor/actions/.github/workflows/update-catalog.yml@main - secrets: - token: ${{ secrets.SDK_SYNC_PAT }} diff --git a/integration-manifest.json b/integration-manifest.json index abe8d6f..1a4403e 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -1,7 +1,11 @@ { - "$schema": "https://keyfactor.github.io/integration-manifest-schema.json", - "integration_type": "ca-gateway", - "name": "SSLStore", - "status": "production", - "description": "SSLStore is a certificate reseller with access to over 80 certificate products. Vendors include Digicert and Sectigo and all their acquired companies such as RapidSSL, Geotrust and Comodo. There is one API for all these products so a single integration to the SSLStore can get you instant access to over 80 Certificate products." + "$schema": "https://keyfactor.github.io/integration-manifest-schema.json", + "integration_type": "ca-gateway", + "name": "SSLStore", + "status": "production", + "release_dir": "SslStoreCaProxy/bin/Release", + "support_level": "kf-supported", + "update_catalog": true, + "link_github": true, + "description": "SSLStore is a certificate reseller with access to over 80 certificate products. Vendors include Digicert and Sectigo and all their acquired companies such as RapidSSL, Geotrust and Comodo. There is one API for all these products so a single integration to the SSLStore can get you instant access to over 80 Certificate products." } From 10b174cf71d609e0472fd75765345b7d4571fd3d Mon Sep 17 00:00:00 2001 From: Keyfactor Date: Thu, 18 Jan 2024 17:03:48 +0000 Subject: [PATCH 13/14] Update generated README --- README.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 031999d..5914eda 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,31 @@ SSLStore is a certificate reseller with access to over 80 certificate products. #### Integration status: Production - Ready for use in production environments. + ## About the Keyfactor AnyGateway CA Connector This repository contains an AnyGateway CA Connector, which is a plugin to the Keyfactor AnyGateway. AnyGateway CA Connectors allow Keyfactor Command to be used for inventory, issuance, and revocation of certificates from a third-party certificate authority. + +## Support for SSLStore + +SSLStore is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com + +###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. + + +--- + + + + + + + + --- + *** # Compatibility @@ -959,6 +978,14 @@ the CA. Without the imported configuration, the service will fail to start. } } }, + "AutoWWW": { + "FieldData": { + "RequiredForProducts": [ + "positivessl" + ], + "EnrollmentFieldMapping": "AutoWWW" + } + }, "ApproverEmail": { "FieldData": { "RequiredForProducts": [ @@ -1000,7 +1027,9 @@ the CA. Without the imported configuration, the service will fail to start. "Templates": { "positivessl": { "ProductID": "positivessl", - "Parameters": {} + "Parameters": { + "AutoWWW": "True" + } }, "positiveevssl": { "ProductID": "positiveevssl", @@ -1235,6 +1264,9 @@ Set-KeyfactorGatewayConfig -LogicalName "SSLStore" -FilePath [path to json file] ``` 3) Command Server - Import the certificate authority in Keyfactor Portal +### Release 1.1 Notes +Look over the AutoWWW field in both the Sample Config and readme. If you want to include it for a template see the positivessl sample in the readme. It is also needed as a new field in the SampleRequest Section of the file as shown in the readme. + *** ### License From fdf3cde1294df17ca39f90cbe4fb09b58f95b8bd Mon Sep 17 00:00:00 2001 From: Brian Hill <76450501+bhillkeyfactor@users.noreply.github.com> Date: Wed, 25 Feb 2026 01:25:06 +0000 Subject: [PATCH 14/14] Release: 1.0.1 * fixed enconding issues with ssl store api changes --- CHANGELOG.md | 3 +++ SslStoreCaProxy/Client/SslStoreClient.cs | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70bb7f3..e82d4d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v1.1.1 +- SSL Store Api Changed Encoding Rules, needed to fix integration to match + v1.1.0 - Added new AutoWWW field for single domain SSL Store products diff --git a/SslStoreCaProxy/Client/SslStoreClient.cs b/SslStoreCaProxy/Client/SslStoreClient.cs index f083f6a..980b13f 100644 --- a/SslStoreCaProxy/Client/SslStoreClient.cs +++ b/SslStoreCaProxy/Client/SslStoreClient.cs @@ -34,7 +34,7 @@ public SslStoreClient(ICAConnectorConfigProvider config) public async Task SubmitNewOrderRequestAsync(NewOrderRequest newOrderRequest) { using (var resp = await RestClient.PostAsync("/rest/order/neworder", new StringContent( - JsonConvert.SerializeObject(newOrderRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(newOrderRequest), Encoding.UTF8, "application/json"))) { Logger.Trace(JsonConvert.SerializeObject(newOrderRequest)); resp.EnsureSuccessStatusCode(); @@ -47,7 +47,7 @@ public async Task SubmitNewOrderRequestAsync(NewOrderRequest n public async Task SubmitEmailApproverRequestAsync(EmailApproverRequest newApproverRequest) { using (var resp = await RestClient.PostAsync("/rest/order/approverlist", new StringContent( - JsonConvert.SerializeObject(newApproverRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(newApproverRequest), Encoding.UTF8, "application/json"))) { Logger.Trace(JsonConvert.SerializeObject(newApproverRequest)); resp.EnsureSuccessStatusCode(); @@ -60,7 +60,7 @@ public async Task SubmitEmailApproverRequestAsync(EmailAp public async Task SubmitReIssueRequestAsync(ReIssueRequest reIssueOrderRequest) { using (var resp = await RestClient.PostAsync("/rest/order/reissue", new StringContent( - JsonConvert.SerializeObject(reIssueOrderRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(reIssueOrderRequest), Encoding.UTF8, "application/json"))) { var orderStatusResponse = JsonConvert.DeserializeObject(await resp.Content.ReadAsStringAsync()); @@ -71,7 +71,7 @@ public async Task SubmitReIssueRequestAsync(ReIssueRequest reI public async Task SubmitRenewRequestAsync(NewOrderRequest renewOrderRequest) { using (var resp = await RestClient.PostAsync("/rest/order/neworder", new StringContent( - JsonConvert.SerializeObject(renewOrderRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(renewOrderRequest), Encoding.UTF8, "application/json"))) { Logger.Trace(JsonConvert.SerializeObject(renewOrderRequest)); resp.EnsureSuccessStatusCode(); @@ -86,7 +86,7 @@ public async Task SubmitDownloadCertificateAsync( DownloadCertificateRequest downloadOrderRequest) { using (var resp = await RestClient.PostAsync("/rest/order/download", new StringContent( - JsonConvert.SerializeObject(downloadOrderRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(downloadOrderRequest), Encoding.UTF8, "application/json"))) { Logger.Trace(JsonConvert.SerializeObject(downloadOrderRequest)); resp.EnsureSuccessStatusCode(); @@ -112,7 +112,7 @@ public async Task SubmitQueryOrderRequestAsync(BlockingCollection SubmitRevokeCertificateAsync(RevokeOrderRequest revokeOrderRequest) { using (var resp = await RestClient.PostAsync("/rest/order/refundrequest", new StringContent( - JsonConvert.SerializeObject(revokeOrderRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(revokeOrderRequest), Encoding.UTF8, "application/json"))) { var revocationResponse = JsonConvert.DeserializeObject(await resp.Content.ReadAsStringAsync()); @@ -197,7 +197,7 @@ public async Task SubmitRevokeCertificateAsync(RevokeOrder public async Task SubmitOrderStatusRequestAsync(OrderStatusRequest orderStatusRequest) { using (var resp = await RestClient.PostAsync("/rest/order/status", new StringContent( - JsonConvert.SerializeObject(orderStatusRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(orderStatusRequest), Encoding.UTF8, "application/json"))) { var orderStatusResponse = JsonConvert.DeserializeObject(await resp.Content.ReadAsStringAsync()); @@ -208,7 +208,7 @@ public async Task SubmitOrderStatusRequestAsync(OrderStatusRe public async Task SubmitOrganizationListAsync(OrganizationListRequest organizationListRequest) { using (var resp = await RestClient.PostAsync("/rest/digicert/organizationlist", new StringContent( - JsonConvert.SerializeObject(organizationListRequest), Encoding.ASCII, "application/json"))) + JsonConvert.SerializeObject(organizationListRequest), Encoding.UTF8, "application/json"))) { var organizationListResponse = JsonConvert.DeserializeObject(await resp.Content.ReadAsStringAsync()); @@ -219,7 +219,7 @@ public async Task SubmitOrganizationListAsync(Organizatio private HttpClient ConfigureRestClient() { var clientHandler = new WebRequestHandler(); - var returnClient = new HttpClient(clientHandler, true) {BaseAddress = BaseUrl}; + var returnClient = new HttpClient(clientHandler, true) { BaseAddress = BaseUrl }; returnClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); return returnClient; }