public CertificateDetails(CertificateRecord certificateRecord) { this.InitializeComponent(); this.l_IssuerValue.Text = certificateRecord.Issuer; this.l_SubjectValue.Text = certificateRecord.Subject; this.l_BeginDateValue.Text = certificateRecord.StartDate.ToString(); this.l_ExpirationDateValue.Text = certificateRecord.ExpirationDate.ToString(); this.l_SignatureAlgorithmValue.Text = certificateRecord.SignatureAlgorithm; this.l_SerialNumberValue.Text = certificateRecord.SerialNumber; this.l_ThumbprintValue.Text = certificateRecord.Thumbprint; this.l_VersionValue.Text = certificateRecord.Version.ToString(); }
public void ToStringTest() { CertificateRecord tag = TestUtil.GetCompositeTag <CertificateRecord>(Constants.CertificateRecord.TagType, new ITlvTag[] { new RawTag(Constants.CertificateRecord.CertificateIdTagType, false, false, new byte[] { 0x2 }), new RawTag(Constants.CertificateRecord.X509CertificateTagType, false, false, new byte[] { 0x3 }), }); CertificateRecord tag2 = new CertificateRecord(new RawTag(tag.Type, tag.NonCritical, tag.Forward, tag.EncodeValue())); Assert.AreEqual(tag.ToString(), tag2.ToString()); }
public void CertificationRecordOkTest() { TlvTagBuilder builder = new TlvTagBuilder(Constants.CertificateRecord.TagType, false, false, new ITlvTag[] { new RawTag(Constants.CertificateRecord.CertificateIdTagType, false, false, new byte[] { 0x2 }), new RawTag(Constants.CertificateRecord.X509CertificateTagType, false, false, new byte[] { 0x3 }), }); CertificateRecord tag = new CertificateRecord(builder.BuildTag()); Assert.That(Util.IsArrayEqual(new byte[] { 0x2 }, tag.CertificateId.Value), "Unexpected certificate id"); Assert.That(Util.IsArrayEqual(new byte[] { 0x3 }, tag.X509Certificate.Value), "Unexpected X509 certificate."); }
public void CertificationRecordWithoutCertTest() { TlvException ex = Assert.Throws <TlvException>(delegate { TlvTagBuilder builder = new TlvTagBuilder(Constants.CertificateRecord.TagType, false, false, new ITlvTag[] { new RawTag(Constants.CertificateRecord.CertificateIdTagType, false, false, new byte[] { 0x2 }), }); CertificateRecord tag = new CertificateRecord(builder.BuildTag()); }); Assert.That(ex.Message.StartsWith("Exactly one certificate must exist in certificate record"), "Unexpected exception message: " + ex.Message); }
// Token: 0x06000005 RID: 5 RVA: 0x00002354 File Offset: 0x00000554 private void DoScheduledWork(object reloadState) { try { List <CertificateRecord> federationTrustCertificates = this.GetFederationTrustCertificates(); List <CertificateRecord> authCertificates = this.GetAuthCertificates(); foreach (CertificateRecord certificateRecord in authCertificates) { CertificateRecord certificateRecord2 = federationTrustCertificates.Find(new Predicate <CertificateRecord>(certificateRecord.Equals)); if (certificateRecord2 != null) { certificateRecord2.Type |= certificateRecord.Type; } else { federationTrustCertificates.Add(certificateRecord); } } if (federationTrustCertificates.Count > 0) { this.PerformDistribution(federationTrustCertificates); } } catch (ADTransientException ex) { Servicelet.Tracer.TraceError <ADTransientException>((long)this.GetHashCode(), "ActiveDirecotry transient exception occurred during distribution: {0}", ex); this.eventLogger.LogEvent(MSExchangeCertificateDeploymentEventLogConstants.Tuple_TransientException, null, new object[] { ex }); } catch (DataSourceOperationException ex2) { Servicelet.Tracer.TraceError <DataSourceOperationException>((long)this.GetHashCode(), "ActiveDirecotry permanent exception occurred during distribution: {0}", ex2); this.eventLogger.LogEvent(MSExchangeCertificateDeploymentEventLogConstants.Tuple_PermanentException, null, new object[] { ex2 }); } catch (DataValidationException ex3) { Servicelet.Tracer.TraceError <DataValidationException>((long)this.GetHashCode(), "ActiveDirecotry permanent exception occurred during distribution: {0}", ex3); this.eventLogger.LogEvent(MSExchangeCertificateDeploymentEventLogConstants.Tuple_PermanentException, null, new object[] { ex3 }); } }
private void CmsServerCertificates_Delete_Click(object sender, EventArgs e) { CertificateRecord certificateRecord = null; var selectedIndex = -1; var serverName = string.Empty; if (this.dgv_ServerCertificates.CurrentCell == null || this.dgv_ServerCertificates.CurrentCell.RowIndex < 0) { return; } try { selectedIndex = this.dgv_ServerCertificates.CurrentCell.RowIndex; serverName = this.dgv_ServerCertificates.Rows[selectedIndex].Cells["ServerName"].Value.ToString(); certificateRecord = this.FindCertificateByServerName(serverName); } catch { return; } if (certificateRecord == null) { return; } if (string.IsNullOrEmpty(certificateRecord.FileName)) { return; } var filePath = Path.Combine(Config.HttpReverseProxyCertrifcateDir, certificateRecord.FileName); if (!File.Exists(filePath)) { return; } Minary.Common.Utils.TryExecute2(() => { File.Delete(filePath); }); this.RefreshCertificateListing(); }
private CertificateRecord FindCertificateByServerName(string serverName) { CertificateRecord foundCertificate = null; if (string.IsNullOrEmpty(serverName)) { return(foundCertificate); } try { int selectedIndex = this.dgv_ServerCertificates.CurrentCell.RowIndex; foundCertificate = (from record in this.certificateRecords where record.ServerName == serverName select record).First(); } catch { } return(foundCertificate); }
private void RefreshCertificateListing() { this.certificateRecords.Clear(); if (Directory.Exists(Config.HttpReverseProxyCertrifcateDir)) { foreach (string tmpFile in Directory.GetFiles(Config.HttpReverseProxyCertrifcateDir)) { try { X509Certificate2Collection certificateCollection = NativeWindowsLib.Crypto.Crypto.GetCertificatesFromStoreFile(tmpFile, string.Empty); CertificateRecord tmpRecord = new CertificateRecord(); X509Certificate2 theCertificate = certificateCollection[0]; tmpRecord.Issuer = string.IsNullOrEmpty(theCertificate.Issuer) ? string.Empty : theCertificate.Issuer; tmpRecord.StartDate = theCertificate.NotBefore == DateTime.MinValue ? DateTime.MinValue : theCertificate.NotBefore; tmpRecord.ExpirationDate = theCertificate.NotAfter == DateTime.MinValue ? DateTime.MinValue : theCertificate.NotAfter; tmpRecord.SerialNumber = string.IsNullOrEmpty(theCertificate.SerialNumber) ? string.Empty : theCertificate.SerialNumber; tmpRecord.SignatureAlgorithm = theCertificate.SignatureAlgorithm != null ? theCertificate.SignatureAlgorithm.FriendlyName : string.Empty; tmpRecord.Subject = string.IsNullOrEmpty(theCertificate.Subject) ? string.Empty : theCertificate.Subject; tmpRecord.Thumbprint = string.IsNullOrEmpty(theCertificate.Thumbprint) ? string.Empty : theCertificate.Thumbprint; tmpRecord.Version = theCertificate.Version; if (tmpRecord.Subject.Contains("=")) { tmpRecord.ServerName = tmpRecord.Subject.Split(new char[] { '=' }, 2)[1]; } else { tmpRecord.ServerName = tmpRecord.Subject; } tmpRecord.FileName = Path.GetFileName(tmpFile); this.certificateRecords.Add(tmpRecord); } catch { } } } }
private void DGV_ServerCertificates_DoubleClick(object sender, EventArgs e) { CertificateRecord certificateRecord = null; var selectedIndex = -1; var serverName = string.Empty; if (this.dgv_ServerCertificates.CurrentCell == null || this.dgv_ServerCertificates.CurrentCell.RowIndex < 0) { return; } try { selectedIndex = this.dgv_ServerCertificates.CurrentCell.RowIndex; serverName = this.dgv_ServerCertificates.Rows[selectedIndex].Cells["ServerName"].Value.ToString(); certificateRecord = this.FindCertificateByServerName(serverName); CertificateDetails certificateDetails = new CertificateDetails(certificateRecord); certificateDetails.ShowDialog(); } catch { } }
// Token: 0x06000009 RID: 9 RVA: 0x00002898 File Offset: 0x00000A98 private List <CertificateRecord> GetAuthCertificates() { List <CertificateRecord> list = new List <CertificateRecord>(); AuthConfig authConfig = AuthConfig.Read(this.session); if (authConfig == null) { throw new InvalidAuthConfigurationException(DirectoryStrings.ErrorInvalidAuthSettings(string.Empty)); } if (!string.IsNullOrEmpty(authConfig.PreviousCertificateThumbprint)) { CertificateRecord certificateRecord = new CertificateRecord { Type = FederationCertificateType.PreviousCertificate, Thumbprint = authConfig.PreviousCertificateThumbprint }; CertificateRecord certificateRecord2 = list.Find(new Predicate <CertificateRecord>(certificateRecord.Equals)); if (certificateRecord2 != null) { certificateRecord2.Type |= FederationCertificateType.PreviousCertificate; } else { list.Add(certificateRecord); } } if (!string.IsNullOrEmpty(authConfig.CurrentCertificateThumbprint)) { CertificateRecord certificateRecord3 = new CertificateRecord { Type = FederationCertificateType.CurrentCertificate, Thumbprint = authConfig.CurrentCertificateThumbprint }; CertificateRecord certificateRecord4 = list.Find(new Predicate <CertificateRecord>(certificateRecord3.Equals)); if (certificateRecord4 != null) { certificateRecord4.Type |= FederationCertificateType.CurrentCertificate; } else { list.Add(certificateRecord3); } } if (!string.IsNullOrEmpty(authConfig.NextCertificateThumbprint)) { CertificateRecord certificateRecord5 = new CertificateRecord { Type = FederationCertificateType.NextCertificate, Thumbprint = authConfig.NextCertificateThumbprint }; CertificateRecord certificateRecord6 = list.Find(new Predicate <CertificateRecord>(certificateRecord5.Equals)); if (certificateRecord6 != null) { certificateRecord6.Type |= FederationCertificateType.NextCertificate; } else { list.Add(certificateRecord5); } } return(list); }
// Token: 0x06000007 RID: 7 RVA: 0x0000285C File Offset: 0x00000A5C private bool IsCurrentOrNextCertificate(CertificateRecord cert) { return((cert.Type & FederationCertificateType.CurrentCertificate) == FederationCertificateType.CurrentCertificate || (cert.Type & FederationCertificateType.NextCertificate) == FederationCertificateType.NextCertificate); }