Skip to content

Commit 91a70cf

Browse files
authored
Merge branch 'release-1.1' into dev-78415
2 parents c306aa6 + c90a7a8 commit 91a70cf

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

cscglobal-caplugin/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
v1.1.0
2+
- Support for custom fields in enrollment
3+
- Support for returning CNAME tokens from enrollment call
4+
5+
v1.0.1
6+
- Fixed issue with SANs not being read correctly.
7+
8+
v1.0
9+
- Initial Release.

cscglobal-caplugin/CSCGlobalCAPlugin.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ public async Task<EnrollmentResult> Enroll(string csr, string subject, Dictionar
210210
IRegistrationResponse enrollmentResponse;
211211
if (!productInfo.ProductParameters.ContainsKey("PriorCertSN"))
212212
{
213-
enrollmentRequest = _requestManager.GetRegistrationRequest(productInfo, csr, san);
213+
enrollmentRequest = _requestManager.GetRegistrationRequest(productInfo, csr, san, customFields);
214214
Logger.LogTrace($"Enrollment Request JSON: {JsonConvert.SerializeObject(enrollmentRequest)}");
215215
enrollmentResponse =
216216
Task.Run(async () => await CscGlobalClient.SubmitRegistrationAsync(enrollmentRequest))
@@ -252,7 +252,7 @@ public async Task<EnrollmentResult> Enroll(string csr, string subject, Dictionar
252252
uUId = await _certificateDataReader.GetRequestIDBySerialNumber(
253253
productInfo.ProductParameters["PriorCertSN"]);
254254
Logger.LogTrace($"Renew uUId: {uUId}");
255-
renewRequest = _requestManager.GetRenewalRequest(productInfo, uUId, csr, san);
255+
renewRequest = _requestManager.GetRenewalRequest(productInfo, uUId, csr, san, customFields);
256256
Logger.LogTrace($"Renewal Request JSON: {JsonConvert.SerializeObject(renewRequest)}");
257257
var renewResponse = Task.Run(async () => await CscGlobalClient.SubmitRenewalAsync(renewRequest))
258258
.Result;
@@ -277,7 +277,7 @@ public async Task<EnrollmentResult> Enroll(string csr, string subject, Dictionar
277277
productInfo.ProductParameters["PriorCertSN"]);
278278
uUId = requestid.Substring(0, 36); //uUId is a GUID
279279
Logger.LogTrace($"Reissue uUId: {uUId}");
280-
reissueRequest = _requestManager.GetReissueRequest(productInfo, uUId, csr, san);
280+
reissueRequest = _requestManager.GetReissueRequest(productInfo, uUId, csr, san, customFields);
281281
Logger.LogTrace($"Reissue JSON: {JsonConvert.SerializeObject(reissueRequest)}");
282282
var reissueResponse = Task.Run(async () => await CscGlobalClient.SubmitReissueAsync(reissueRequest))
283283
.Result;

cscglobal-caplugin/Interfaces/IGetCustomField.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ public interface IGetCustomField
1111
{
1212
string Label { get; set; }
1313
bool Mandatory { get; set; }
14-
}
14+
}

cscglobal-caplugin/RequestManager.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
using Keyfactor.Extensions.CAPlugin.CSCGlobal.Interfaces;
1313
using Keyfactor.PKI.Enums.EJBCA;
1414

15+
using Org.BouncyCastle.Bcpg;
16+
1517
namespace Keyfactor.Extensions.CAPlugin.CSCGlobal;
1618

1719
public class RequestManager
1820
{
1921
public static Func<string, string> Pemify = ss =>
2022
ss.Length <= 64 ? ss : ss.Substring(0, 64) + "\n" + Pemify(ss.Substring(64));
2123

22-
private List<CustomField> GetCustomFields(EnrollmentProductInfo productInfo)
24+
private List<CustomField> GetCustomFields(EnrollmentProductInfo productInfo, List<GetCustomField> customFields)
2325
{
2426
var customFieldList = new List<CustomField>();
2527
foreach (var field in customFields)
@@ -138,7 +140,7 @@ public DomainControlValidation GetDomainControlValidation(string methodType, str
138140
}
139141

140142
public RegistrationRequest GetRegistrationRequest(EnrollmentProductInfo productInfo, string csr,
141-
Dictionary<string, string[]> sans)
143+
Dictionary<string, string[]> sans, List<GetCustomField> customFields)
142144
{
143145
//var cert = "-----BEGIN CERTIFICATE REQUEST-----\r\n";
144146
var cert = Pemify(csr);
@@ -166,7 +168,7 @@ public RegistrationRequest GetRegistrationRequest(EnrollmentProductInfo productI
166168
OrganizationContact = productInfo.ProductParameters["Organization Contact"],
167169
BusinessUnit = productInfo.ProductParameters["Business Unit"],
168170
ShowPrice = true, //User should not have to fill this out
169-
CustomFields = GetCustomFields(productInfo),
171+
CustomFields = GetCustomFields(productInfo, customFields),
170172
SubjectAlternativeNames = certificateType == "2" ? GetSubjectAlternativeNames(productInfo, sans) : null,
171173
EvCertificateDetails = certificateType == "3" ? GetEvCertificateDetails(productInfo) : null
172174
};
@@ -212,7 +214,7 @@ public Notifications GetNotifications(EnrollmentProductInfo productInfo)
212214
}
213215

214216
public RenewalRequest GetRenewalRequest(EnrollmentProductInfo productInfo, string uUId, string csr,
215-
Dictionary<string, string[]> sans)
217+
Dictionary<string, string[]> sans, List<GetCustomField> customFields)
216218
{
217219
//var cert = "-----BEGIN CERTIFICATE REQUEST-----\r\n";
218220
var cert = Pemify(csr);
@@ -241,7 +243,7 @@ public RenewalRequest GetRenewalRequest(EnrollmentProductInfo productInfo, strin
241243
BusinessUnit = productInfo.ProductParameters["Business Unit"],
242244
ShowPrice = true,
243245
SubjectAlternativeNames = certificateType == "2" ? GetSubjectAlternativeNames(productInfo, sans) : null,
244-
CustomFields = GetCustomFields(productInfo),
246+
CustomFields = GetCustomFields(productInfo, customFields),
245247
EvCertificateDetails = certificateType == "3" ? GetEvCertificateDetails(productInfo) : null
246248
};
247249
}
@@ -270,7 +272,7 @@ private List<SubjectAlternativeName> GetSubjectAlternativeNames(EnrollmentProduc
270272
}
271273

272274
public ReissueRequest GetReissueRequest(EnrollmentProductInfo productInfo, string uUId, string csr,
273-
Dictionary<string, string[]> sans)
275+
Dictionary<string, string[]> sans, List<GetCustomField> customFields)
274276
{
275277
//var cert = "-----BEGIN CERTIFICATE REQUEST-----\r\n";
276278
var cert = Pemify(csr);
@@ -299,7 +301,7 @@ public ReissueRequest GetReissueRequest(EnrollmentProductInfo productInfo, strin
299301
BusinessUnit = productInfo.ProductParameters["Business Unit"],
300302
ShowPrice = true,
301303
SubjectAlternativeNames = certificateType == "2" ? GetSubjectAlternativeNames(productInfo, sans) : null,
302-
CustomFields = GetCustomFields(productInfo),
304+
CustomFields = GetCustomFields(productInfo, customFields),
303305
EvCertificateDetails = certificateType == "3" ? GetEvCertificateDetails(productInfo) : null
304306
};
305307
}

0 commit comments

Comments
 (0)