Beispiel #1
0
        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));
        }
Beispiel #2
0
            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);
            }
Beispiel #3
0
            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);
            }
Beispiel #4
0
            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);
            }
Beispiel #5
0
        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));
        }
Beispiel #6
0
            public void GivenAnInvalidName_ItReturnsNull(string subjectName)
            {
                var cert = NuGetCertificate.CreateOrDefault(null, subjectName);

                Assert.Null(cert);
            }