예제 #1
0
        public void TestSignatureOIDs(DigestAlgorithm algo)
        {
            string messageText = m_tester.ReadMessageText("simple.eml");

            m_cryptographer.DigestAlgorithm = algo;
            SignedCms signedData = null;

            signedData = m_cryptographer.CreateSignature(Encoding.ASCII.GetBytes(messageText), new X509Certificate2Collection(m_cert));

            Assert.True(signedData.SignerInfos.Count == 1);
            Assert.True(signedData.SignerInfos[0].DigestAlgorithm.Value == SMIMECryptographer.ToDigestAlgorithmOid(algo).Value);
        }
예제 #2
0
        public void TestWithMessageObjects()
        {
            var message = MimeSerializer.Default.Deserialize <Message>(m_tester.ReadMessageText("simple.eml"));

            var outgoing = new OutgoingMessage(message);

            outgoing = m_tester.AgentA.ProcessOutgoing(outgoing);

            Assert.True(outgoing.Message.HasHeader(MailStandard.Headers.Date));

            Assert.True(SMIMEStandard.IsEncrypted(outgoing.Message));
            VerifyTrusted(outgoing.Recipients, m_tester.AgentA.MinTrustRequirement);
            Assert.True(outgoing.RejectedRecipients.Count == 0);

            var incoming = new IncomingMessage(outgoing.Message);

            incoming = m_tester.AgentB.ProcessIncoming(incoming);

            Assert.False(SMIMEStandard.IsEncrypted(incoming.Message));
            Assert.False(WrappedMessage.IsWrapped(incoming.Message));

            VerifyTrusted(incoming.Recipients, m_tester.AgentB.MinTrustRequirement);
            Assert.True(outgoing.RejectedRecipients.Count == 0);
        }