public void GetCertificateChain_WhenExtraStoreNull_Throws() { var exception = Assert.Throws <ArgumentNullException>( () => SigningUtility.GetCertificateChain(new X509Certificate2(), extraStore: null)); Assert.Equal("extraStore", exception.ParamName); }
public void GetCertificateChain_WhenCertificateNull_Throws() { var exception = Assert.Throws <ArgumentNullException>( () => SigningUtility.GetCertificateChain(certificate: null, extraStore: new X509Certificate2Collection())); Assert.Equal("certificate", exception.ParamName); }
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); } }
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); } }