예제 #1
0
            public void CertificateSignedByTrustedSignerWhileSignerCertificateHashExistsTwice_ShouldThrow_TrustException()
            {
                // Arrange
                var certificate                 = RsaKey.Generate().DeriveCertificate();
                var signedCertificate           = ScenarioRsa.DefaultSignerKey.Sign((RsaCertificate)certificate);
                var signerCertificateParameters = ScenarioRsa.DefaultSignerCertificate.CreateRsa().ExportParameters(false);
                var signerCertificateDuplicate  = new RsaCertificate(
                    parameters: signerCertificateParameters,
                    embeddedData: ScenarioRsa.DefaultSignerCertificate.EmbeddedData);
                var chainOfTrust = new ChainOfTrust(
                    ScenarioRsa.DefaultSignerCertificate,
                    signerCertificateDuplicate);

                // Act & Assert
                Assert.Throws <TrustException>(() => chainOfTrust.Verify(signedCertificate));
            }