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)); }