Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
52eee75
fix for smime profile type
dgaley Oct 8, 2025
70fe240
template parameter to include client auth eku
dgaley Oct 8, 2025
f9e1564
Update generated docs
Oct 8, 2025
516d230
Merge pull request #31 from Keyfactor/hotfix
dgaley Oct 8, 2025
844a7e1
changelog and logging
dgaley Oct 13, 2025
b0819c4
Merge branch 'hotfix' of https://github.com/Keyfactor/digicert-certce…
dgaley Oct 13, 2025
db730d5
Merge pull request #34 from Keyfactor/hotfix
dgaley Oct 13, 2025
aceca2d
Merge pull request #32 from Keyfactor/dev-2.1
spbsoluble Oct 20, 2025
a4dfbe2
check for duplicate PEMs
dgaley Nov 6, 2025
d0e5a80
Merge pull request #36 from Keyfactor/hotfix
dgaley Nov 6, 2025
cd8fd90
change default start sync date for first incremental sync
dgaley Nov 18, 2025
19fae71
Merge pull request #38 from Keyfactor/hotfix
dgaley Nov 18, 2025
fe7e05d
removing caching of product type list
dgaley Nov 18, 2025
8850680
Merge pull request #39 from Keyfactor/prodtypecache
dgaley Nov 18, 2025
d195faf
change default incremental sync range
dgaley Nov 19, 2025
1b14604
version
dgaley Nov 19, 2025
a64934c
changelog
dgaley Nov 19, 2025
03a5fa5
Merge pull request #40 from Keyfactor/hotfix
dgaley Nov 19, 2025
208fece
shorten incremental sync if it is too long
dgaley Dec 2, 2025
509ad46
Merge pull request #41 from Keyfactor/hotfix
dgaley Dec 2, 2025
c3a719f
Merge pull request #37 from Keyfactor/dev-2.1
spbsoluble Dec 17, 2025
d534241
feat: release v2.2.0
dgaley Feb 17, 2026
a22a63e
Dev 2.2 (#47)
dgaley Jun 2, 2026
f1ed664
Dev 2.3 (#54)
dgaley Jun 17, 2026
1c7a5ce
Dev 2.4 (#57)
dgaley Jul 8, 2026
4931ca8
Merge branch 'main' into release-2.4
indrora Jul 8, 2026
fc23c3d
Dev 2.4 (#60)
dgaley Jul 22, 2026
1fe0cd7
Merge branch 'main' into release-2.4
indrora Jul 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,7 @@
* Add configuration flag to support Intel vPro EKU on ssl cert requests
* Add ability to filter sync by product ID
* Bug fix for SMIME cert renewal
* Bug fix for template validation
* Bug fix for template validation

### 2.4.1
* Fix for missing parameter errors
30 changes: 26 additions & 4 deletions digicert-certcentral-caplugin/CertCentralCAPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -301,9 +301,31 @@ public async Task<EnrollmentResult> Enroll(string csr, string subject, Dictionar

if (typeOfCert.Equals("ssl"))
{
bool clientAuth = Convert.ToBoolean(productInfo.ProductParameters[CertCentralConstants.Config.INCLUDE_CLIENT_AUTH]);
bool kdc = Convert.ToBoolean(productInfo.ProductParameters[CertCentralConstants.Config.INCLUDE_KDC]);
bool intel = Convert.ToBoolean(productInfo.ProductParameters[CertCentralConstants.Config.INCLUDE_INTEL]);
bool clientAuth = false, kdc = false, intel = false;
if (productInfo.ProductParameters.TryGetValue(CertCentralConstants.Config.INCLUDE_CLIENT_AUTH, out string clientAuthValue))
{
if (!bool.TryParse(clientAuthValue, out clientAuth))
{
_logger.LogError($"Could not parse 'IncludeClientAuthEKU' field as true or false. Check configuration. Value: {clientAuthValue}");
throw new Exception($"Could not parse 'IncludeClientAuthEKU' field as true or false. Check configuration");
}
}
if (productInfo.ProductParameters.TryGetValue(CertCentralConstants.Config.INCLUDE_KDC, out string kdcValue))
{
if (!bool.TryParse(kdcValue, out kdc))
{
_logger.LogError($"Could not parse 'IncludeKDCSmartCardLogonEKU' field as true or false. Check configuration. Value: {kdcValue}");
throw new Exception($"Could not parse 'IncludeKDCSmartCardLogonEKU' field as true or false. Check configuration");
}
}
if (productInfo.ProductParameters.TryGetValue(CertCentralConstants.Config.INCLUDE_INTEL, out string intelValue))
{
if (!bool.TryParse(intelValue, out intel))
{
_logger.LogError($"Could not parse 'IncludeIntelvProEKU' field as true or false. Check configuration. Value: {intelValue}");
throw new Exception($"Could not parse 'IncludeIntelvProEKU' field as true or false. Check configuration");
}
}
if ((clientAuth ? 1 : 0) + (kdc ? 1 : 0) + (intel ? 1 : 0) >= 2) //If more than one EKU option is selected
{
throw new Exception($"Cannot enroll for cert with more than one EKU option selected");
Expand Down Expand Up @@ -1096,7 +1118,7 @@ public async Task ValidateProductInfo(EnrollmentProductInfo productInfo, Diction

// For pulling product ID details, we use the Connection-level Division ID rather than the enrollment-level one.
detailsRequest.ContainerId = null;
if (productInfo.ProductParameters.ContainsKey(CertCentralConstants.Config.ENROLL_DIVISION_ID))
if (connectionInfo.ContainsKey(CertCentralConstants.Config.DIVISION_ID))
{
string div = connectionInfo[CertCentralConstants.Config.DIVISION_ID].ToString();
if (!string.IsNullOrWhiteSpace(div))
Expand Down
Loading