public X509Certificate2 GetCertificateOfType(CertificateTypeEnum certificateType) { if (takeCertificatesFromLocalMachineStore) { var myStoreLocation = StoreLocation.LocalMachine; var certificateThumbprint = string.Empty; certificateThumbprint = _applicationConfiguration.GetAppCertThumbprintByType(certificateType); if (string.IsNullOrEmpty(certificateThumbprint)) { throw new NoNullAllowedException(nameof(certificateThumbprint)); } _errorLog.LogInfo( this, string.Format(ReceivedApplicationThumbprintFromProviderDebugMessage, certificateThumbprint) ); return(_certificateProvider.GetValidCertificateFromStoreByThumbprint( myStoreLocation, certificateThumbprint )); } return(_embeddedResourceCertificateProvider.GetValidCertificateFromEmbeddedResource()); }
/// <summary> /// Initializes a new instance of the <see cref="ApiCoinSelectionCertificates" /> class. /// </summary> /// <param name="certificateType">certificateType (required).</param> /// <param name="pool">A unique identifier for the pool..</param> /// <param name="rewardAccountPath">rewardAccountPath (required).</param> public ApiCoinSelectionCertificates(CertificateTypeEnum certificateType = default(CertificateTypeEnum), string pool = default(string), List <string> rewardAccountPath = default(List <string>)) { // to ensure "certificateType" is required (not null) if (certificateType == null) { throw new InvalidDataException("certificateType is a required property for ApiCoinSelectionCertificates and cannot be null"); } else { this.CertificateType = certificateType; } // to ensure "rewardAccountPath" is required (not null) if (rewardAccountPath == null) { throw new InvalidDataException("rewardAccountPath is a required property for ApiCoinSelectionCertificates and cannot be null"); } else { this.RewardAccountPath = rewardAccountPath; } this.Pool = pool; }
public CertificateValidationReponse Validate(X509Certificate2 certificate, CertificateTypeEnum application) { if (certificate == null) { throw new ArgumentNullException(nameof(certificate)); } var returnValue = new CertificateValidationReponse { Success = false }; var willExpireOn = Convert.ToDateTime(certificate.GetExpirationDateString()); var daysLeftUntilCertificateExpires = (willExpireOn - DateTime.Today).Days; var certificateExpiryMessage = string.Empty; certificateExpiryMessage = string.Format("Expiry", willExpireOn); if (daysLeftUntilCertificateExpires < 60) { _errorLog.LogWarning(this, certificateExpiryMessage); // TODO: mail goes to multiple people in for each or something... if (_applicationConfiguration.ShouldSendEmailWhenCertificateExpiryDateValidationFails()) { _emailSender.SendMailToAdminsAsync(AdminEmail.Bruno, "Pending certificate expiry", certificateExpiryMessage); } } if (daysLeftUntilCertificateExpires < 40) { _errorLog.LogFatal(this, certificateExpiryMessage); } return(returnValue); }
private void LogExtraInformation( string nameOfResourceFile, X509Certificate2 certificate, string certificatePassword, CertificateTypeEnum certificateType ) { switch (certificateType) { case CertificateTypeEnum.Application: break; case CertificateTypeEnum.Validation: break; case CertificateTypeEnum.TestApplication: break; case CertificateTypeEnum.TestValidation: break; } _errorLog.LogInfo( this, string.Format( "APP_CERT_FOUND_MATCHING_CERT_BY_EMBEDDED_RESOURCE_NAME", certificateType, nameOfResourceFile, certificate?.SubjectName, certificate?.GetExpirationDateString() ) ); }
private CertificateValidationReponse VerifyCertificateExpirationDate(X509Certificate2 certificate, CertificateTypeEnum application) { return(_certificateExpirationValidator.Validate(certificate, application)); }
public string GetAppCertThumbprintByType(CertificateTypeEnum certificateType) { throw new NotImplementedException(); }