Ejemplo n.º 1
0
        public void GetCertificateChain_WhenExtraStoreNull_Throws()
        {
            var exception = Assert.Throws <ArgumentNullException>(
                () => SigningUtility.GetCertificateChain(new X509Certificate2(), extraStore: null));

            Assert.Equal("extraStore", exception.ParamName);
        }
Ejemplo n.º 2
0
        public void GetCertificateChain_WhenCertificateNull_Throws()
        {
            var exception = Assert.Throws <ArgumentNullException>(
                () => SigningUtility.GetCertificateChain(certificate: null, extraStore: new X509Certificate2Collection()));

            Assert.Equal("certificate", exception.ParamName);
        }
Ejemplo n.º 3
0
        public void GetCertificateChain_WithUntrustedRoot_Throws()
        {
            using (var chain = new X509Chain())
                using (var rootCertificate = GetCertificate("root.crt"))
                    using (var intermediateCertificate = GetCertificate("intermediate.crt"))
                        using (var leafCertificate = GetCertificate("leaf.crt"))
                        {
                            var extraStore = new X509Certificate2Collection();

                            extraStore.Add(rootCertificate);
                            extraStore.Add(intermediateCertificate);

                            var exception = Assert.Throws <SignatureException>(
                                () => SigningUtility.GetCertificateChain(leafCertificate, extraStore));

                            Assert.Equal(NuGetLogCode.NU3018, exception.Code);
                        }
        }
Ejemplo n.º 4
0
        public void GetCertificateChain_ReturnsCertificatesInOrder()
        {
            using (var chain = new X509Chain())
                using (var rootCertificate = GetCertificate("root.crt"))
                    using (var intermediateCertificate = GetCertificate("intermediate.crt"))
                        using (var leafCertificate = GetCertificate("leaf.crt"))
                        {
                            chain.ChainPolicy.ExtraStore.Add(rootCertificate);
                            chain.ChainPolicy.ExtraStore.Add(intermediateCertificate);

                            chain.Build(leafCertificate);

                            var certificateChain = SigningUtility.GetCertificateChain(chain);

                            Assert.Equal(3, certificateChain.Count);
                            Assert.Equal(leafCertificate.Thumbprint, certificateChain[0].Thumbprint);
                            Assert.Equal(intermediateCertificate.Thumbprint, certificateChain[1].Thumbprint);
                            Assert.Equal(rootCertificate.Thumbprint, certificateChain[2].Thumbprint);
                        }
        }