Exemplo n.º 1
0
        public void ThenLoadXmlGetsTheCertificateFromTheXml()
        {
            // Arrange
            var xmlDocument = new XmlDocument {
                PreserveWhitespace = true
            };

            xmlDocument.LoadXml(
                @"<wsse:SecurityTokenReference
                    xmlns:wsse=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"" 
                    xmlns:wsu=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd""
                    xmlns:ds=""http://www.w3.org/2000/09/xmldsig#""
                    wsu:Id=""STR-501d4b2b-7385bec9-ef02-47a7-b2f4-b9c9c860195b"">
                        <ds:X509Data>
                            <ds:X509IssuerSerial>
                                <ds:X509IssuerName>CN=AccessPointA</ds:X509IssuerName>
                                <ds:X509SerialNumber>8207205864034169939</ds:X509SerialNumber>
                            </ds:X509IssuerSerial>
                        </ds:X509Data>
                    </wsse:SecurityTokenReference>");

            // Act
            var reference = new IssuerSecurityTokenReference(xmlDocument.DocumentElement, new StubCertificateRepository());

            // Assert
            Assert.NotNull(reference.Certificate);
            Assert.Equal("CN=AccessPointA", reference.Certificate.Issuer);
        }
Exemplo n.º 2
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);
        }