Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / Tokens / SslSecurityTokenParameters.cs / 1 / SslSecurityTokenParameters.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security.Tokens { using System.IdentityModel.Selectors; using System.ServiceModel.Channels; using System.ServiceModel; using System.IdentityModel.Tokens; using System.ServiceModel.Security; using System.Text; using System.Globalization; public class SslSecurityTokenParameters : SecurityTokenParameters { internal const bool defaultRequireClientCertificate = false; internal const bool defaultRequireCancellation = false; bool requireCancellation = defaultRequireCancellation; bool requireClientCertificate; BindingContext issuerBindingContext; protected SslSecurityTokenParameters(SslSecurityTokenParameters other) : base(other) { this.requireClientCertificate = other.requireClientCertificate; this.requireCancellation = other.requireCancellation; if (other.issuerBindingContext != null) { this.issuerBindingContext = other.issuerBindingContext.Clone(); } } public SslSecurityTokenParameters() : this(defaultRequireClientCertificate) { // empty } public SslSecurityTokenParameters(bool requireClientCertificate) : this(requireClientCertificate, defaultRequireCancellation) { // empty } public SslSecurityTokenParameters(bool requireClientCertificate, bool requireCancellation) : base() { this.requireClientCertificate = requireClientCertificate; this.requireCancellation = requireCancellation; } internal protected override bool HasAsymmetricKey { get { return false; } } public bool RequireCancellation { get { return this.requireCancellation; } set { this.requireCancellation = value; } } public bool RequireClientCertificate { get { return this.requireClientCertificate; } set { this.requireClientCertificate = value; } } internal BindingContext IssuerBindingContext { get { return this.issuerBindingContext; } set { if (value != null) { value = value.Clone(); } this.issuerBindingContext = value; } } internal protected override bool SupportsClientAuthentication { get { return this.requireClientCertificate; } } internal protected override bool SupportsServerAuthentication { get { return true; } } internal protected override bool SupportsClientWindowsIdentity { get { return this.requireClientCertificate; } } protected override SecurityTokenParameters CloneCore() { return new SslSecurityTokenParameters(this); } internal protected override SecurityKeyIdentifierClause CreateKeyIdentifierClause(SecurityToken token, SecurityTokenReferenceStyle referenceStyle) { if (token is GenericXmlSecurityToken) return base.CreateGenericXmlTokenKeyIdentifierClause(token, referenceStyle); else return this.CreateKeyIdentifierClause(token, referenceStyle); } protected internal override void InitializeSecurityTokenRequirement(SecurityTokenRequirement requirement) { requirement.TokenType = (this.RequireClientCertificate) ? ServiceModelSecurityTokenTypes.MutualSslnego : ServiceModelSecurityTokenTypes.AnonymousSslnego; requirement.RequireCryptographicToken = true; requirement.KeyType = SecurityKeyType.SymmetricKey; requirement.Properties[ServiceModelSecurityTokenRequirement.SupportSecurityContextCancellationProperty] = this.RequireCancellation; if (this.IssuerBindingContext != null) { requirement.Properties[ServiceModelSecurityTokenRequirement.IssuerBindingContextProperty] = this.IssuerBindingContext.Clone() ; } requirement.Properties[ServiceModelSecurityTokenRequirement.IssuedSecurityTokenParametersProperty] = this.Clone(); } public override string ToString() { StringBuilder sb = new StringBuilder(); sb.AppendLine(base.ToString()); sb.AppendLine(String.Format(CultureInfo.InvariantCulture, "RequireCancellation: {0}", this.RequireCancellation.ToString())); sb.Append(String.Format(CultureInfo.InvariantCulture, "RequireClientCertificate: {0}", this.RequireClientCertificate.ToString())); return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WmlPhoneCallAdapter.cs
- ConfigurationManagerHelperFactory.cs
- SqlProvider.cs
- VisualBasicImportReference.cs
- ProxyWebPartConnectionCollection.cs
- CharEntityEncoderFallback.cs
- OdbcDataReader.cs
- AppearanceEditorPart.cs
- Int32RectConverter.cs
- EpmTargetTree.cs
- ChangesetResponse.cs
- SerializationException.cs
- BaseCodePageEncoding.cs
- WebEventCodes.cs
- DefaultAssemblyResolver.cs
- EntityDataSourceDesigner.cs
- RegexCapture.cs
- SoapExtension.cs
- AdRotator.cs
- BaseResourcesBuildProvider.cs
- ProfileInfo.cs
- ExtenderControl.cs
- IdentifierService.cs
- GraphicsContainer.cs
- WindowsTitleBar.cs
- DocComment.cs
- GroupLabel.cs
- VisualStyleRenderer.cs
- IndexOutOfRangeException.cs
- ResourcesBuildProvider.cs
- MemoryPressure.cs
- DiscreteKeyFrames.cs
- GridSplitterAutomationPeer.cs
- QueueProcessor.cs
- ImageSourceValueSerializer.cs
- VerificationAttribute.cs
- PeerNameRegistration.cs
- AdCreatedEventArgs.cs
- ButtonChrome.cs
- SecurityState.cs
- MarkupExtensionReturnTypeAttribute.cs
- SqlBooleanizer.cs
- EmptyElement.cs
- _OSSOCK.cs
- CapabilitiesUse.cs
- StateMachineAction.cs
- CodeAttributeDeclarationCollection.cs
- JulianCalendar.cs
- ImageAttributes.cs
- SqlWorkflowInstanceStore.cs
- validationstate.cs
- PageTrueTypeFont.cs
- AmbientProperties.cs
- DataSourceControl.cs
- AuthenticationManager.cs
- ArgumentFixer.cs
- ResourcesChangeInfo.cs
- DataControlPagerLinkButton.cs
- RsaKeyIdentifierClause.cs
- RbTree.cs
- RuleSettingsCollection.cs
- Vector3D.cs
- FormViewPagerRow.cs
- AffineTransform3D.cs
- FileSystemInfo.cs
- PointAnimation.cs
- DictionaryKeyPropertyAttribute.cs
- RoleGroupCollection.cs
- PluralizationService.cs
- COM2PropertyDescriptor.cs
- Publisher.cs
- MdiWindowListItemConverter.cs
- Condition.cs
- UInt16Storage.cs
- Polyline.cs
- Win32MouseDevice.cs
- UniqueConstraint.cs
- ListBindingConverter.cs
- ResolveNextArgumentWorkItem.cs
- CompositeDataBoundControl.cs
- AcceleratedTokenProvider.cs
- SettingsAttributes.cs
- TextTabProperties.cs
- FilteredReadOnlyMetadataCollection.cs
- ScalarOps.cs
- ApplicationTrust.cs
- XmlCharCheckingReader.cs
- BitmapEffectInput.cs
- GroupBoxRenderer.cs
- DbgCompiler.cs
- ArcSegment.cs
- ProfileParameter.cs
- BackStopAuthenticationModule.cs
- XmlSchemaAny.cs
- RegistrationServices.cs
- BrowserInteropHelper.cs
- HttpRequestCacheValidator.cs
- X509DefaultServiceCertificateElement.cs
- WSSecurityPolicy12.cs
- OdbcError.cs