public void CanRetrieveIssuerSecurityTokenFromEnvelope()
            {
                var token = SecurityTokenReferenceProvider.Get(GetIssuerSecurityTokenEnvelope(), SecurityTokenType.Signing, new StubCertificateRepository());

                Assert.NotNull(token);
                Assert.IsType <IssuerSecurityTokenReference>(token);
            }
            public void CanRetrieveKeyIdentifierSecurityTokenFromEnvelope()
            {
                var token = SecurityTokenReferenceProvider.Get(GetKeyIdentifierSecurityTokenEnvelope(), SecurityTokenType.Signing, new TestUtils.Stubs.StubCertificateRepository());

                Assert.NotNull(token);
                Assert.IsType <KeyIdentifierSecurityTokenReference>(token);
            }
        private static string RetrieveSigningCertificateThumbPrint(AS4Message as4Message, ICertificateRepository certificateRepository)
        {
            var token =
                SecurityTokenReferenceProvider.Get(as4Message.EnvelopeDocument ?? AS4XmlSerializer.ToSoapEnvelopeDocument(as4Message, CancellationToken.None),
                                                   SecurityTokenType.Signing,
                                                   certificateRepository);

            return(token.Certificate.Thumbprint);
        }
示例#4
0
        private void SetSecurityTokenReference(X509Certificate2 signingCertificate, X509ReferenceType securityTokenType)
        {
            var securityTokenReference = SecurityTokenReferenceProvider.Create(signingCertificate, securityTokenType);

            SigningKey = GetSigningKeyFromCertificate(signingCertificate);
            KeyInfo    = new KeyInfo();

            KeyInfo.AddClause(securityTokenReference);
        }
        /// <summary>
        /// Verify the Signature of the AS4 message
        /// </summary>
        /// <param name="options"></param>
        /// <returns></returns>
        public bool VerifySignature(VerifySignatureConfig options)
        {
            var securityTokenReference =
                SecurityTokenReferenceProvider.Get(_soapEnvelope, SecurityTokenType.Signing, options.CertificateRepository);

            if (!VerifyCertificate(securityTokenReference.Certificate, options.AllowUnknownRootCertificateAuthority, out X509ChainStatus[] status))
示例#6
0
 /// <summary>
 /// Creates the <see cref="SecurityTokenReference"/> instance that must be used.
 /// </summary>
 /// <returns></returns>
 public SecurityTokenReference BuildSecurityTokenReference()
 {
     return(SecurityTokenReferenceProvider.Create(EncryptionCertificate, _securityTokenReferenceType));
 }