Пример #1
0
        public async Task Decrypt_Fails_When_Wrong_Decryption_Certificate_Is_Given()
        {
            // Arrange
            AS4Message as4Message = await GetEncryptedMessageAsync();

            var certificate = new StubCertificateRepository().GetStubCertificate();

            // Act&Assert
            Assert.ThrowsAny <Exception>(() => as4Message.Decrypt(certificate));
        }
        private static async Task <StepResult> ExerciseSigning(
            MessagingContext context,
            Action <StubCertificateRepository> updateStore)
        {
            var stubCertRepo = new StubCertificateRepository();

            updateStore(stubCertRepo);

            var sut = new SignAS4MessageStep(stubCertRepo);

            return(await sut.ExecuteAsync(context));
        }
Пример #3
0
        private void TestReceiveNRReceiptWith(string ebmsMessageId, Func <int, int> selection)
        {
            SendingProcessingMode nrrPMode = VerifyNRReceiptsPMode();
            X509Certificate2      cert     = new StubCertificateRepository().GetStubCertificate();

            AS4Message userMessage = SignedUserMessage(ebmsMessageId, nrrPMode, cert);
            AS4Message nrReceipt   = SignedNRReceipt(cert, userMessage, selection);

            var waitHandle = new ManualResetEvent(initialState: false);

            StubHttpServer.StartServer(StubListenLocation, new AS4MessageResponseHandler(nrReceipt).WriteResponse, waitHandle);

            PutMessageToSend(userMessage, nrrPMode, actAsIntermediaryMsh: false);
            waitHandle.WaitOne();
        }
Пример #4
0
        private async Task <HttpResponseMessage> TestSendNRReceiptWith(string messageId, Func <int, int> selection)
        {
            // Arrange
            var nrrPMode = new SendingProcessingMode {
                Id = "verify-nrr", ReceiptHandling = { VerifyNRR = true }
            };
            X509Certificate2 cert = new StubCertificateRepository().GetStubCertificate();

            AS4Message signedUserMessage = SignedUserMessage(messageId, nrrPMode, cert);

            InsertRelatedSignedUserMessage(nrrPMode, signedUserMessage);

            AS4Message signedReceipt = SignedNRReceipt(cert, signedUserMessage, selection);

            // Act
            return(await StubSender.SendAS4Message(_receiveAgentUrl, signedReceipt));
        }
Пример #5
0
        public void ThenGetXmlContainsSecurityTokenReference()
        {
            // Arrange
            var certRepository = new StubCertificateRepository();
            X509Certificate2 stubCertificate = certRepository.GetStubCertificate();

            // Act
            XmlElement xml = new IssuerSecurityTokenReference(stubCertificate).GetXml();

            // Assert
            Assert.NotNull(xml);
            Assert.Equal("wsse:SecurityTokenReference", xml.Name);
            Assert.Equal(Constants.Namespaces.WssSecuritySecExt, xml.NamespaceURI);

            XmlNode issuerName = xml.SelectEbmsNode("/dsig:X509Data/dsig:X509IssuerSerial/dsig:X509IssuerName");

            Assert.Equal(stubCertificate.IssuerName.Name, issuerName.InnerText);

            XmlNode serialNumberNode     = xml.SelectEbmsNode("/dsig:X509Data/dsig:X509IssuerSerial/dsig:X509SerialNumber");
            string  expectedSerialNumber = Convert.ToUInt64($"0x{stubCertificate.SerialNumber}", 16).ToString();

            Assert.Equal(expectedSerialNumber, serialNumberNode.InnerText);
        }