Example #1
0
 public static void Validate(SecurityTokenInclusionMode value)
 {
     if (!IsDefined(value))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int)value, typeof(SecurityTokenInclusionMode)));
     }
 }
 public static void Validate(SecurityTokenInclusionMode value)
 {
     if (!IsDefined(value))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int) value, typeof(SecurityTokenInclusionMode)));
     }
 }
 public static bool IsDefined(SecurityTokenInclusionMode value)
 {
     return (value == SecurityTokenInclusionMode.AlwaysToInitiator
     || value == SecurityTokenInclusionMode.AlwaysToRecipient
     || value == SecurityTokenInclusionMode.Never
     || value == SecurityTokenInclusionMode.Once);
 }
 public static bool IsDefined(SecurityTokenInclusionMode value)
 {
     return(value == SecurityTokenInclusionMode.AlwaysToInitiator ||
            value == SecurityTokenInclusionMode.AlwaysToRecipient ||
            value == SecurityTokenInclusionMode.Never ||
            value == SecurityTokenInclusionMode.Once);
 }
 internal X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode,
                                      bool requireDerivedKeys)
     : base()
 {
     X509ReferenceStyle = x509ReferenceStyle;
     InclusionMode      = inclusionMode;
     RequireDerivedKeys = requireDerivedKeys;
 }
Example #6
0
 public static bool IsDefined(SecurityTokenInclusionMode value)
 {
     if (((value != SecurityTokenInclusionMode.AlwaysToInitiator) && (value != SecurityTokenInclusionMode.AlwaysToRecipient)) && (value != SecurityTokenInclusionMode.Never))
     {
         return(value == SecurityTokenInclusionMode.Once);
     }
     return(true);
 }
 internal X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode,
     bool requireDerivedKeys)
     : base()
 {
     this.X509ReferenceStyle = x509ReferenceStyle;
     this.InclusionMode = inclusionMode;
     this.RequireDerivedKeys = requireDerivedKeys;
 }
 public static bool IsDefined(SecurityTokenInclusionMode value)
 {
     if (((value != SecurityTokenInclusionMode.AlwaysToInitiator) && (value != SecurityTokenInclusionMode.AlwaysToRecipient)) && (value != SecurityTokenInclusionMode.Never))
     {
         return (value == SecurityTokenInclusionMode.Once);
     }
     return true;
 }
 protected SecurityTokenParameters(SecurityTokenParameters other)
 {
     this.requireDerivedKeys = true;
     if (other == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("other");
     }
     this.requireDerivedKeys = other.requireDerivedKeys;
     this.inclusionMode      = other.inclusionMode;
     this.referenceStyle     = other.referenceStyle;
 }
        protected SecurityTokenParameters(SecurityTokenParameters other)
        {
            if (other == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(other));
            }

            RequireDerivedKeys = other.RequireDerivedKeys;
            _inclusionMode     = other._inclusionMode;
            _referenceStyle    = other._referenceStyle;
        }
Example #11
0
        public static void AssertSymmetricSecurityBindingElement(
            SecurityAlgorithmSuite algorithm,
            bool includeTimestamp,
            SecurityKeyEntropyMode keyEntropyMode,
            MessageProtectionOrder messageProtectionOrder,
            MessageSecurityVersion messageSecurityVersion,
            bool requireSignatureConfirmation,
            SecurityHeaderLayout securityHeaderLayout,
            // EndpointSupportingTokenParameters
            int endorsing, int signed, int signedEncrypted, int signedEndorsing,
            // ProtectionTokenParameters
            bool hasProtectionTokenParameters,
            SecurityTokenInclusionMode protectionTokenInclusionMode,
            SecurityTokenReferenceStyle protectionTokenReferenceStyle,
            bool protectionTokenRequireDerivedKeys,
            // LocalClientSettings
            bool cacheCookies,
            int renewalThresholdPercentage,
            bool detectReplays,
            SymmetricSecurityBindingElement be, string label)
        {
            AssertSecurityBindingElement(
                algorithm,
                includeTimestamp,
                keyEntropyMode,
                messageSecurityVersion,
                securityHeaderLayout,
                // EndpointSupportingTokenParameters
                endorsing, signed, signedEncrypted, signedEndorsing,
                // LocalClientSettings
                cacheCookies,
                renewalThresholdPercentage,
                detectReplays,
                be, label);

            Assert.AreEqual(messageProtectionOrder, be.MessageProtectionOrder, label + ".MessageProtectionOrder");
            Assert.AreEqual(requireSignatureConfirmation, be.RequireSignatureConfirmation, label + ".RequireSignatureConfirmation");

            if (!hasProtectionTokenParameters)
            {
                Assert.IsNull(be.ProtectionTokenParameters, label + ".ProtectionTokenParameters (null)");
            }
            else
            {
                AssertSecurityTokenParameters(
                    protectionTokenInclusionMode,
                    protectionTokenReferenceStyle,
                    protectionTokenRequireDerivedKeys,
                    be.ProtectionTokenParameters, label + ".ProtectionTokenParameters");
            }
        }
Example #12
0
		public static void AssertSecurityTokenParameters (
			SecurityTokenInclusionMode protectionTokenInclusionMode,
			SecurityTokenReferenceStyle protectionTokenReferenceStyle,
			bool protectionTokenRequireDerivedKeys,
			SecurityTokenParameters tp, string label)
		{
			Assert.IsNotNull (tp, label + " IsNotNull");
			Assert.AreEqual (protectionTokenInclusionMode,
				tp.InclusionMode, label + ".InclusionMode");
			Assert.AreEqual (protectionTokenReferenceStyle,
				tp.ReferenceStyle, label + ".ReferenceStyle");
			Assert.AreEqual (protectionTokenRequireDerivedKeys,
				tp.RequireDerivedKeys, label + ".RequireDerivedKeys");
		}
Example #13
0
 public static void AssertSecurityTokenParameters(
     SecurityTokenInclusionMode protectionTokenInclusionMode,
     SecurityTokenReferenceStyle protectionTokenReferenceStyle,
     bool protectionTokenRequireDerivedKeys,
     SecurityTokenParameters tp, string label)
 {
     Assert.IsNotNull(tp, label + " IsNotNull");
     Assert.AreEqual(protectionTokenInclusionMode,
                     tp.InclusionMode, label + ".InclusionMode");
     Assert.AreEqual(protectionTokenReferenceStyle,
                     tp.ReferenceStyle, label + ".ReferenceStyle");
     Assert.AreEqual(protectionTokenRequireDerivedKeys,
                     tp.RequireDerivedKeys, label + ".RequireDerivedKeys");
 }
Example #14
0
        public override bool ShouldIncludeToken(SecurityTokenInclusionMode mode, bool isInitialized)
        {
            switch (mode)
            {
            case SecurityTokenInclusionMode.Never:
            case SecurityTokenInclusionMode.AlwaysToInitiator:
                return(false);

            case SecurityTokenInclusionMode.AlwaysToRecipient:
                return(true);

            case SecurityTokenInclusionMode.Once:
                return(!isInitialized);
            }
            throw new Exception("Internal Error: should not happen.");
        }
Example #15
0
 public abstract bool ShouldIncludeToken(SecurityTokenInclusionMode mode, bool isInitialized);
 public X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode) : this(x509ReferenceStyle, inclusionMode, true)
 {
 }
 public X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode)
     : this(x509ReferenceStyle, inclusionMode, SecurityTokenParameters.defaultRequireDerivedKeys)
 {
 }
		public override bool ShouldIncludeToken (SecurityTokenInclusionMode mode, bool isInitialized)
		{
			switch (mode) {
			case SecurityTokenInclusionMode.Never:
			case SecurityTokenInclusionMode.AlwaysToInitiator:
				return false;
			case SecurityTokenInclusionMode.AlwaysToRecipient:
				return true;
			case SecurityTokenInclusionMode.Once:
				return !isInitialized;
			}
			throw new Exception ("Internal Error: should not happen.");
		}
		public abstract bool ShouldIncludeToken (SecurityTokenInclusionMode mode, bool isInitialized);
 public virtual bool TryGetIncludeTokenValue(XmlElement assertion, out SecurityTokenInclusionMode mode)
 {
     string attribute = assertion.GetAttribute("IncludeToken", this.WsspNamespaceUri);
     if (attribute == this.AlwaysToInitiatorUri)
     {
         mode = SecurityTokenInclusionMode.AlwaysToInitiator;
         return true;
     }
     if (attribute == this.AlwaysToRecipientUri)
     {
         mode = SecurityTokenInclusionMode.AlwaysToRecipient;
         return true;
     }
     if (attribute == this.NeverUri)
     {
         mode = SecurityTokenInclusionMode.Never;
         return true;
     }
     if (attribute == this.OnceUri)
     {
         mode = SecurityTokenInclusionMode.Once;
         return true;
     }
     mode = SecurityTokenInclusionMode.Never;
     return false;
 }
 public X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode) : this(x509ReferenceStyle, inclusionMode, true)
 {
 }
		public X509SecurityTokenParameters (X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode)
		{
			reference_style = x509ReferenceStyle;
			InclusionMode = inclusionMode;
		}
Example #23
0
		public static void AssertAsymmetricSecurityBindingElement (
			SecurityAlgorithmSuite algorithm,
			bool includeTimestamp,
			SecurityKeyEntropyMode keyEntropyMode,
			MessageProtectionOrder messageProtectionOrder,
			MessageSecurityVersion messageSecurityVersion,
			bool requireSignatureConfirmation,
			SecurityHeaderLayout securityHeaderLayout,
			// EndpointSupportingTokenParameters
			int endorsing, int signed, int signedEncrypted, int signedEndorsing,
			// InitiatorTokenParameters
			bool hasInitiatorTokenParameters,
			SecurityTokenInclusionMode initiatorTokenInclusionMode,
			SecurityTokenReferenceStyle initiatorTokenReferenceStyle,
			bool initiatorTokenRequireDerivedKeys,
			// RecipientTokenParameters
			bool hasRecipientTokenParameters,
			SecurityTokenInclusionMode recipientTokenInclusionMode,
			SecurityTokenReferenceStyle recipientTokenReferenceStyle,
			bool recipientTokenRequireDerivedKeys,
			// LocalClientSettings
			bool cacheCookies,
			int renewalThresholdPercentage,
			bool detectReplays,
			AsymmetricSecurityBindingElement be, string label)
		{
			AssertSecurityBindingElement (
				algorithm,
				includeTimestamp,
				keyEntropyMode,
				messageSecurityVersion,
				securityHeaderLayout,
				// EndpointSupportingTokenParameters
				endorsing, signed, signedEncrypted, signedEndorsing,
				// LocalClientSettings
				cacheCookies,
				renewalThresholdPercentage,
				detectReplays,
				be, label);

			Assert.AreEqual (messageProtectionOrder, be.MessageProtectionOrder, label + ".MessageProtectionOrder");
			Assert.AreEqual (requireSignatureConfirmation, be.RequireSignatureConfirmation, label + ".RequireSignatureConfirmation");

			if (!hasInitiatorTokenParameters)
				Assert.IsNull (be.InitiatorTokenParameters, label + ".InitiatorTokenParameters (null)");
			else
				AssertSecurityTokenParameters (
					initiatorTokenInclusionMode,
					initiatorTokenReferenceStyle,
					initiatorTokenRequireDerivedKeys,
					be.InitiatorTokenParameters, label + ".InitiatorTokenParameters");
			if (!hasRecipientTokenParameters)
				Assert.IsNull (be.RecipientTokenParameters, label + ".RecipientTokenParameters (null)");
			else
				AssertSecurityTokenParameters (
					recipientTokenInclusionMode,
					recipientTokenReferenceStyle,
					recipientTokenRequireDerivedKeys,
					be.RecipientTokenParameters, label + ".RecipientTokenParameters");
		}
 public X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode)
 {
     reference_style = x509ReferenceStyle;
     InclusionMode   = inclusionMode;
 }
 public virtual void SetIncludeTokenValue(XmlElement tokenAssertion, SecurityTokenInclusionMode inclusionMode)
 {
     switch (inclusionMode)
     {
         default:
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("inclusionMode"));
         case SecurityTokenInclusionMode.AlwaysToInitiator:
             tokenAssertion.SetAttribute(IncludeTokenName, this.WsspNamespaceUri, AlwaysToInitiatorUri);
             break;
         case SecurityTokenInclusionMode.AlwaysToRecipient:
             tokenAssertion.SetAttribute(IncludeTokenName, this.WsspNamespaceUri, AlwaysToRecipientUri);
             break;
         case SecurityTokenInclusionMode.Never:
             tokenAssertion.SetAttribute(IncludeTokenName, this.WsspNamespaceUri, NeverUri);
             break;
         case SecurityTokenInclusionMode.Once:
             tokenAssertion.SetAttribute(IncludeTokenName, this.WsspNamespaceUri, OnceUri);
             break;
     }
 }
        public virtual bool TryGetIncludeTokenValue(XmlElement assertion, out SecurityTokenInclusionMode mode)
        {
            string includeTokenUri = assertion.GetAttribute(IncludeTokenName, this.WsspNamespaceUri);

            if (includeTokenUri == AlwaysToInitiatorUri)
            {
                mode = SecurityTokenInclusionMode.AlwaysToInitiator;
                return true;
            }
            else if (includeTokenUri == AlwaysToRecipientUri)
            {
                mode = SecurityTokenInclusionMode.AlwaysToRecipient;
                return true;
            }
            else if (includeTokenUri == NeverUri)
            {
                mode = SecurityTokenInclusionMode.Never;
                return true;
            }
            else if (includeTokenUri == OnceUri)
            {
                mode = SecurityTokenInclusionMode.Once;
                return true;
            }
            else
            {
                mode = SecurityTokenInclusionMode.Never;
                return false;
            }
        }
 public X509SecurityTokenParameters(X509KeyIdentifierClauseType x509ReferenceStyle, SecurityTokenInclusionMode inclusionMode)
     : this(x509ReferenceStyle, inclusionMode, SecurityTokenParameters.defaultRequireDerivedKeys)
 {
 }