コード例 #1
0
        internal SecurityBindingElement(SecurityBindingElement elementToBeCloned)
            : base(elementToBeCloned)
        {
            if (elementToBeCloned == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elementToBeCloned");
            }

            this.defaultAlgorithmSuite                     = elementToBeCloned.defaultAlgorithmSuite;
            this.includeTimestamp                          = elementToBeCloned.includeTimestamp;
            this.keyEntropyMode                            = elementToBeCloned.keyEntropyMode;
            this.messageSecurityVersion                    = elementToBeCloned.messageSecurityVersion;
            this.securityHeaderLayout                      = elementToBeCloned.securityHeaderLayout;
            this.endpointSupportingTokenParameters         = (SupportingTokenParameters)elementToBeCloned.endpointSupportingTokenParameters.Clone();
            this.optionalEndpointSupportingTokenParameters = (SupportingTokenParameters)elementToBeCloned.optionalEndpointSupportingTokenParameters.Clone();
            this.operationSupportingTokenParameters        = new Dictionary <string, SupportingTokenParameters>();
            foreach (string key in elementToBeCloned.operationSupportingTokenParameters.Keys)
            {
                this.operationSupportingTokenParameters[key] = (SupportingTokenParameters)elementToBeCloned.operationSupportingTokenParameters[key].Clone();
            }
            this.optionalOperationSupportingTokenParameters = new Dictionary <string, SupportingTokenParameters>();
            foreach (string key in elementToBeCloned.optionalOperationSupportingTokenParameters.Keys)
            {
                this.optionalOperationSupportingTokenParameters[key] = (SupportingTokenParameters)elementToBeCloned.optionalOperationSupportingTokenParameters[key].Clone();
            }
            this.localServiceSettings = (LocalServiceSecuritySettings)elementToBeCloned.localServiceSettings.Clone();
            // this.internalDuplexBindingElement = elementToBeCloned.internalDuplexBindingElement;
            this.maxReceivedMessageSize           = elementToBeCloned.maxReceivedMessageSize;
            this.readerQuotas                     = elementToBeCloned.readerQuotas;
            this.doNotEmitTrust                   = elementToBeCloned.doNotEmitTrust;
            this.allowInsecureTransport           = elementToBeCloned.allowInsecureTransport;
            this.enableUnsecuredResponse          = elementToBeCloned.enableUnsecuredResponse;
            this.supportsExtendedProtectionPolicy = elementToBeCloned.supportsExtendedProtectionPolicy;
            this.protectTokens                    = elementToBeCloned.protectTokens;
        }
コード例 #2
0
 internal SecurityBindingElement()
     : base()
 {
     _messageSecurityVersion                     = MessageSecurityVersion.Default;
     _keyEntropyMode                             = SecurityKeyEntropyMode.CombinedEntropy; // AcceleratedTokenProvider.defaultKeyEntropyMode;
     IncludeTimestamp                            = DefaultIncludeTimestamp;
     _defaultAlgorithmSuite                      = s_defaultDefaultAlgorithmSuite;
     LocalServiceSettings                        = new LocalServiceSecuritySettings();
     EndpointSupportingTokenParameters           = new SupportingTokenParameters();
     OptionalEndpointSupportingTokenParameters   = new SupportingTokenParameters();
     _operationSupportingTokenParameters         = new Dictionary <string, SupportingTokenParameters>();
     _optionalOperationSupportingTokenParameters = new Dictionary <string, SupportingTokenParameters>();
     _securityHeaderLayout                       = SecurityHeaderLayout.Strict; // SecurityProtocolFactory.defaultSecurityHeaderLayout;
     AllowInsecureTransport                      = DefaultAllowInsecureTransport;
     EnableUnsecuredResponse                     = DefaultEnableUnsecuredResponse;
     ProtectTokens = DefaultProtectTokens;
 }
コード例 #3
0
 private LocalServiceSecuritySettings(LocalServiceSecuritySettings other)
 {
     this.detectReplays               = other.detectReplays;
     this.replayCacheSize             = other.replayCacheSize;
     this.replayWindow                = other.replayWindow;
     this.maxClockSkew                = other.maxClockSkew;
     this.issuedCookieLifetime        = other.issuedCookieLifetime;
     this.maxStatefulNegotiations     = other.maxStatefulNegotiations;
     this.negotiationTimeout          = other.negotiationTimeout;
     this.maxPendingSessions          = other.maxPendingSessions;
     this.inactivityTimeout           = other.inactivityTimeout;
     this.sessionKeyRenewalInterval   = other.sessionKeyRenewalInterval;
     this.sessionKeyRolloverInterval  = other.sessionKeyRolloverInterval;
     this.reconnectTransportOnFailure = other.reconnectTransportOnFailure;
     this.timestampValidityDuration   = other.timestampValidityDuration;
     this.maxCachedCookies            = other.maxCachedCookies;
     this.nonceCache = other.nonceCache;
 }
コード例 #4
0
 private LocalServiceSecuritySettings(LocalServiceSecuritySettings other)
 {
     DetectReplays               = other.DetectReplays;
     _replayCacheSize            = other._replayCacheSize;
     _replayWindow               = other._replayWindow;
     _maxClockSkew               = other._maxClockSkew;
     _issuedCookieLifetime       = other._issuedCookieLifetime;
     _maxStatefulNegotiations    = other._maxStatefulNegotiations;
     _negotiationTimeout         = other._negotiationTimeout;
     _maxPendingSessions         = other._maxPendingSessions;
     _inactivityTimeout          = other._inactivityTimeout;
     _sessionKeyRenewalInterval  = other._sessionKeyRenewalInterval;
     _sessionKeyRolloverInterval = other._sessionKeyRolloverInterval;
     ReconnectTransportOnFailure = other.ReconnectTransportOnFailure;
     _timestampValidityDuration  = other._timestampValidityDuration;
     _maxCachedCookies           = other._maxCachedCookies;
     NonceCache = other.NonceCache;
 }