public void TestSigned()
        {
            X509Certificate2           signingCert = AgentTester.LoadPrivateCerts("redmond").First();
            X509Certificate2Collection certs       = AgentTester.LoadPrivateCerts("nhind").GetAllCertificates();

            byte[] p7sData = null;
            Assert.DoesNotThrow(() => p7sData = AnchorBundle.CreateSigned(certs, signingCert));
            Assert.True(!p7sData.IsNullOrEmpty());

            AnchorBundle bundle = null;

            Assert.DoesNotThrow(() => bundle = new AnchorBundle(p7sData, true));
            Assert.True(!bundle.Certificates.IsNullOrEmpty());
            Assert.True(certs.Count == bundle.Certificates.Count);
        }
Exemple #2
0
        public void TestPrivateKeyLookupFailure()
        {
            string fileName    = "simple.eml";
            string messageText = m_tester.ReadMessageText(fileName);

            Message message = MailParser.ParseMessage(messageText);

            message.ToValue = "*****@*****.**";  // this should force a key lookup failure
            AgentTester.CheckErrorCode <AgentException, AgentError>(
                () => m_tester.AgentA.ProcessOutgoing(new OutgoingMessage(message)),
                AgentError.NoTrustedRecipients
                );

            DirectAgent badAgent = new DirectAgent(new StaticDomainResolver(m_tester.AgentA.Domains.Domains.ToArray()),
                                                   new NullResolver(), // returns null private certs
                                                   m_tester.AgentA.PublicCertResolver,
                                                   m_tester.AgentA.TrustAnchors);

            message = MailParser.ParseMessage(messageText);
            AgentTester.CheckErrorCode <AgentException, AgentError>(
                () => badAgent.ProcessOutgoing(new OutgoingMessage(message)),
                AgentError.CouldNotResolvePrivateKey
                );

            OutgoingMessage outgoing = m_tester.AgentA.ProcessOutgoing(messageText);

            badAgent = new DirectAgent(new StaticDomainResolver(m_tester.AgentB.Domains.Domains.ToArray()),
                                       new NullResolver(),            // returns null private certs
                                       m_tester.AgentB.PublicCertResolver,
                                       m_tester.AgentB.TrustAnchors);

            AgentTester.CheckErrorCode <AgentException, AgentError>(
                () => badAgent.ProcessIncoming(outgoing.SerializeMessage()),
                AgentError.CouldNotResolvePrivateKey
                );

            badAgent = new DirectAgent(new StaticDomainResolver(m_tester.AgentB.Domains.Domains.ToArray()),
                                       new NullResolver(true),            // returns empty private cert collections
                                       m_tester.AgentB.PublicCertResolver,
                                       m_tester.AgentB.TrustAnchors);

            AgentTester.CheckErrorCode <AgentException, AgentError>(
                () => badAgent.ProcessIncoming(outgoing.SerializeMessage()),
                AgentError.CouldNotResolvePrivateKey
                );
        }
 static AgentConfigTest()
 {
     AgentTester.EnsureStandardMachineStores();
 }
Exemple #4
0
 static TestCertNameExtraction()
 {
     AgentTester.EnsureStandardMachineStores();
 }
 static CryptographerTests()
 {
     AgentTester.EnsureStandardMachineStores();
 }
Exemple #6
0
 public BasicAgentTests()
 {
     m_tester = AgentTester.CreateTest();
 }
Exemple #7
0
 static BasicAgentTests()
 {
     AgentTester.EnsureStandardMachineStores();
 }