1919using System . Threading ;
2020using System . Threading . Tasks ;
2121using System . Reflection ;
22+ using System . Runtime . ConstrainedExecution ;
2223
2324namespace Keyfactor . Extensions . CAPlugin . HashicorpVault
2425{
@@ -315,7 +316,7 @@ public async Task Synchronize(BlockingCollection<AnyCAPluginCertificate> blockin
315316 Status = ! string . IsNullOrEmpty ( certFromVault . RevocationTime ) ? ( int ) EndEntityStatus . REVOKED : ( int ) EndEntityStatus . GENERATED ,
316317 RevocationDate = ! string . IsNullOrEmpty ( certFromVault . RevocationTime ) ? DateTime . Parse ( certFromVault . RevocationTime ) : null
317318 } ;
318-
319+
319320 // if we were able to get the role name from metadata, we include it
320321 if ( ! string . IsNullOrEmpty ( metaData ? . Role ) )
321322 {
@@ -342,19 +343,19 @@ public async Task Synchronize(BlockingCollection<AnyCAPluginCertificate> blockin
342343 var revoked = ! string . IsNullOrEmpty ( certFromVault . RevocationTime ) ;
343344 logger . LogTrace ( $ "revocationTime = { certFromVault . RevocationTime } so the cert will be marked as{ ( revoked ? "" : " not" ) } revoked.") ;
344345 var vaultStatus = revoked ? ( int ) EndEntityStatus . REVOKED : ( int ) EndEntityStatus . GENERATED ;
345-
346+
346347 if ( vaultStatus != dbStatus ) // if there is a mismatch, we need to update
347348 {
348349 var newCert = new AnyCAPluginCertificate
349350 {
350351 CARequestID = trackingId ,
351352 Certificate = certFromVault . Certificate ,
352353 Status = vaultStatus ,
353- RevocationDate = ! string . IsNullOrEmpty ( certFromVault . RevocationTime ) ? DateTime . Parse ( certFromVault . RevocationTime ) : null ,
354+ RevocationDate = certFromVault . RevocationTime != null ? DateTime . Parse ( certFromVault . RevocationTime . ToString ( ) , System . Globalization . CultureInfo . InvariantCulture , System . Globalization . DateTimeStyles . AdjustToUniversal | System . Globalization . DateTimeStyles . AssumeUniversal ) : null
354355 // ProductID is not available via the API after the initial issuance. we do not want to overwrite
355- } ;
356-
357- blockingBuffer . Add ( newCert ) ;
356+ } ;
357+
358+ blockingBuffer . Add ( newCert , cancelToken ) ;
358359 }
359360 }
360361 count ++ ;
0 commit comments