public void IsValidForPurposeFast_WithNoEku_ReturnsTrueForCodeSigningEku() { using (var certificate = SigningTestUtility.GenerateCertificate("test", generator => { })) { Assert.Equal(0, GetExtendedKeyUsageCount(certificate)); Assert.True(SigningUtility.IsValidForPurposeFast(certificate, Oids.CodeSigningEkuOid)); } }
private static X509Certificate2Collection FilterCodeSigningCertificates(X509Certificate2Collection matchingCollection) { var filteredCollection = new X509Certificate2Collection(); foreach (var certificate in matchingCollection) { if (SigningUtility.IsValidForPurposeFast(certificate, Oids.CodeSigningEkuOid)) { filteredCollection.Add(certificate); } } return(filteredCollection); }
public void IsValidForPurposeFast_WithAnyExtendedKeyUsage_ReturnsFalseForCodeSigningEku() { using (var certificate = SigningTestUtility.GenerateCertificate("test", generator => { generator.AddExtension( X509Extensions.ExtendedKeyUsage.Id, critical: false, extensionValue: new ExtendedKeyUsage(KeyPurposeID.IdKPEmailProtection, KeyPurposeID.AnyExtendedKeyUsage)); })) { Assert.Equal(2, GetExtendedKeyUsageCount(certificate)); Assert.False(SigningUtility.IsValidForPurposeFast(certificate, Oids.CodeSigningEkuOid)); } }