public virtual IEnumerable <NuGetCertificate> GetAllCertificates(StoreName name, StoreLocation location) { var store = new X509Store(name, location); store.Open(OpenFlags.ReadOnly); return(store .Certificates .Find(X509FindType.FindByTimeValid, DateTime.Now, validOnly: false) .Cast <X509Certificate2>() .Select(c => NuGetCertificate.CreateOrDefault(c)) .Where(c => c != null)); }
public void GivenThirdOUFieldProvided_ItIsTheTarget() { var cert = NuGetCertificate.CreateOrDefault( null, subjectName: "CN=name, OU=target, OU=purpose, OU=env, OU=nuget-services"); Assert.NotNull(cert); Assert.Equal("env", cert.Environment); Assert.Equal("purpose", cert.Purpose); Assert.Equal("target", cert.Target); Assert.Empty(cert.Subtargets); Assert.Equal("name", cert.Name); }
public void GivenAValidTrailerAndNoOtherOUFields_ItReturnsNuGetCertificateWithOtherFieldsNull() { var cert = NuGetCertificate.CreateOrDefault( null, subjectName: "CN=name, OU=nuget-services"); Assert.NotNull(cert); Assert.Null(cert.Environment); Assert.Null(cert.Purpose); Assert.Null(cert.Target); Assert.Empty(cert.Subtargets); Assert.Equal("name", cert.Name); }
public void GivenFurtherOUFieldsProvided_TheyAreTheSubtargetsInReverseOrder() { var cert = NuGetCertificate.CreateOrDefault( null, subjectName: "CN=name, OU=grandchild, OU=child, OU=parent, OU=target, OU=purpose, OU=env, OU=nuget-services"); Assert.NotNull(cert); Assert.Equal("env", cert.Environment); Assert.Equal("purpose", cert.Purpose); Assert.Equal("target", cert.Target); Assert.Equal( new [] { "parent", "child", "grandchild" }, cert.Subtargets.ToArray()); Assert.Equal("name", cert.Name); }
public virtual NuGetCertificate GetCertificateFromConfigSetting(string setting, StoreName name, StoreLocation location) { if (_config == null) { return(null); } string thumbprint = _config.GetSetting(setting); if (String.IsNullOrEmpty(thumbprint)) { return(null); } var store = new X509Store(name, location); store.Open(OpenFlags.ReadOnly); var cert = store.Certificates .Find(X509FindType.FindByThumbprint, thumbprint, validOnly: false) .Cast <X509Certificate2>() .FirstOrDefault(); return(cert == null ? null : NuGetCertificate.Create(cert)); }
public void GivenAnInvalidName_ItReturnsNull(string subjectName) { var cert = NuGetCertificate.CreateOrDefault(null, subjectName); Assert.Null(cert); }