コード例 #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));
        }
コード例 #2
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);
            }
コード例 #3
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);
            }
コード例 #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);
            }
コード例 #5
0
            public void GivenAnInvalidName_ItReturnsNull(string subjectName)
            {
                var cert = NuGetCertificate.CreateOrDefault(null, subjectName);

                Assert.Null(cert);
            }