Skip to content

Commit bb482f0

Browse files
indroradgaleymkachkKeyfactor
authored
Merge 1.1.1 to main (#11)
* Release: 1.0.1 Signed-off-by: Morgan Gangwere <Morgan.gangwere@keyfactor.com> Co-authored-by: Mark Kachkaev <mark.kachkaev@keyfactor.com> Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io> * Dev 1.1 (#6) * Update to provide "Enabled" flag support for SAAS deployment. * Update generated docs * Fixing build. * Fixes for enabled. * Update generated docs * More fixes. * remove retry logic for reissue pickup * changelog * Update keyfactor-bootstrap-workflow.yml * Update keyfactor-bootstrap-workflow.yml --------- Co-authored-by: Mark Kachkaev <mark.kachkaev@keyfactor.com> Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io> * Dev 1.1 (#10) * Update to provide "Enabled" flag support for SAAS deployment. * Update generated docs * Fixing build. * Fixes for enabled. * Update generated docs * More fixes. * remove retry logic for reissue pickup * changelog * Update keyfactor-bootstrap-workflow.yml * Update keyfactor-bootstrap-workflow.yml * Change incremental sync to use GetModifiedOrders API call --------- Co-authored-by: Mark Kachkaev <mark.kachkaev@keyfactor.com> Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io> --------- Signed-off-by: Morgan Gangwere <Morgan.gangwere@keyfactor.com> Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com> Co-authored-by: Mark Kachkaev <mark.kachkaev@keyfactor.com> Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
1 parent 5f02a26 commit bb482f0

2 files changed

Lines changed: 58 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,8 @@ v1.0
22
-Initial Release.
33

44
1.1
5-
Remove retry logic around reissue pickups
5+
Remove retry logic around reissue pickups
6+
7+
1.1.1
8+
Change incremental sync to use GetModifiedOrders API call
9+
Remove retry logic around reissue pickups

globalsign-mssl-caplugin/Client/GlobalSignApiClient.cs

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using System.Globalization;
22
using System.ServiceModel;
3+
using System.Text;
4+
35
using Keyfactor.AnyGateway.Extensions;
46
using Keyfactor.Extensions.CAPlugin.GlobalSign.Api;
57
using Keyfactor.Logging;
@@ -86,7 +88,7 @@ public async Task<List<OrderDetail>> GetCertificatesForSyncAsync(
8688
var to = DateTime.UtcNow;
8789

8890
results.AddRange(
89-
await GetCertificatesByDateRange(from, to)
91+
await GetModifiedOrdersByDateRange(from, to)
9092
);
9193
}
9294

@@ -126,17 +128,65 @@ private async Task<List<OrderDetail>> GetCertificatesByDateRange(DateTime? fromD
126128
else
127129
{
128130
int errCode = int.Parse(allOrdersResponse.Response.QueryResponseHeader.Errors[0].ErrorCode);
129-
Logger.LogError($"Unable to retrieve certificates:");
131+
StringBuilder sb = new StringBuilder();
132+
sb.Append($"Unable to retrieve certificates:");
130133
foreach (var e in allOrdersResponse.Response.QueryResponseHeader.Errors)
131134
{
132-
Logger.LogError($"{e.ErrorCode} | {e.ErrorField} | {e.ErrorMessage}");
135+
sb.Append($"\n{e.ErrorCode} | {e.ErrorField} | {e.ErrorMessage}");
133136
}
137+
Logger.LogError(sb.ToString());
134138
var gsError = GlobalSignErrorIndex.GetGlobalSignError(errCode);
135139
Logger.LogError(gsError.DetailedMessage);
136140
throw new Exception(gsError.Message);
137141
}
138142
}
139143

144+
private async Task<List<OrderDetail>> GetModifiedOrdersByDateRange(DateTime? fromDate, DateTime? toDate)
145+
{
146+
var tmpFromDate = fromDate ?? DateTime.MinValue;
147+
var tmpToDate = toDate ?? DateTime.UtcNow;
148+
149+
QbV1GetModifiedOrdersRequest req = new QbV1GetModifiedOrdersRequest
150+
{
151+
QueryRequestHeader = new QueryRequestHeader
152+
{
153+
AuthToken = Config.GetQueryAuthToken()
154+
},
155+
FromDate = tmpFromDate.ToString(Config.DateFormatString, DateTimeFormatInfo.InvariantInfo),
156+
ToDate = tmpToDate.ToString(Config.DateFormatString, DateTimeFormatInfo.InvariantInfo),
157+
OrderQueryOption = new OrderQueryOption
158+
{
159+
ReturnOrderOption = "true",
160+
ReturnCertificateInfo = "true",
161+
ReturnFulfillment = "true",
162+
ReturnOriginalCSR = "true"
163+
}
164+
};
165+
Logger.LogDebug($"Retrieving all modified orders between {tmpFromDate} and {tmpToDate}");
166+
var modOrdersResponse = await QueryService.GetModifiedOrdersAsync(new GetModifiedOrders(req));
167+
168+
if (modOrdersResponse.Response.QueryResponseHeader.SuccessCode == 0)
169+
{
170+
var retVal = modOrdersResponse.Response.OrderDetails?.ToList() ?? new List<OrderDetail>();
171+
Logger.LogDebug($"Retrieved {retVal.Count} modified orders from GlobalSign");
172+
return retVal;
173+
}
174+
else
175+
{
176+
int errCode = int.Parse(modOrdersResponse.Response.QueryResponseHeader.Errors[0].ErrorCode);
177+
StringBuilder sb = new StringBuilder();
178+
sb.Append("Unable to retrieve certificates:");
179+
foreach (var e in modOrdersResponse.Response.QueryResponseHeader.Errors)
180+
{
181+
sb.Append($"\n{e.ErrorCode} | {e.ErrorField} | {e.ErrorMessage}");
182+
}
183+
Logger.LogError(sb.ToString());
184+
var gsError = GlobalSignErrorIndex.GetGlobalSignError(errCode);
185+
Logger.LogError(gsError.DetailedMessage);
186+
throw new Exception(gsError.Message);
187+
}
188+
}
189+
140190
public async Task<AnyCAPluginCertificate> PickupCertificateById(string caRequestId)
141191
{
142192
Logger.MethodEntry();

0 commit comments

Comments
 (0)