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
- DbParameterHelper.cs
- CompareValidator.cs
- LambdaCompiler.cs
- QilDataSource.cs
- ArgumentDesigner.xaml.cs
- NativeMethods.cs
- CompoundFileDeflateTransform.cs
- SafeNativeMethods.cs
- DuplexChannelFactory.cs
- SelectionWordBreaker.cs
- SQLDoubleStorage.cs
- validation.cs
- ListViewEditEventArgs.cs
- XmlSchemaGroup.cs
- TextRange.cs
- AliasExpr.cs
- GradientStop.cs
- PageThemeParser.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- TreeNodeCollection.cs
- XMLSchema.cs
- PingOptions.cs
- OutputCacheProviderCollection.cs
- CodeIdentifier.cs
- shaperfactoryquerycacheentry.cs
- TextServicesContext.cs
- ExtractedStateEntry.cs
- WindowsListViewItemCheckBox.cs
- ErrorEventArgs.cs
- DataGridViewCellCancelEventArgs.cs
- GeneralTransform3D.cs
- ResourceContainer.cs
- GeneralTransformGroup.cs
- MimeParameters.cs
- DbConvert.cs
- Bitmap.cs
- DataGridViewTopLeftHeaderCell.cs
- FormViewDeleteEventArgs.cs
- TextTreeNode.cs
- ExtensionSimplifierMarkupObject.cs
- QilTargetType.cs
- DataControlFieldCell.cs
- CodeAccessPermission.cs
- EntityPropertyMappingAttribute.cs
- VerbConverter.cs
- _CacheStreams.cs
- StorageMappingItemCollection.cs
- TextAutomationPeer.cs
- DelegateSerializationHolder.cs
- StateItem.cs
- ConnectionsZone.cs
- Timer.cs
- Win32SafeHandles.cs
- ImpersonationContext.cs
- TemplateBamlTreeBuilder.cs
- SkewTransform.cs
- ImageIndexConverter.cs
- ReflectPropertyDescriptor.cs
- UnionExpr.cs
- WindowsListViewItemStartMenu.cs
- TextEditorCharacters.cs
- BitmapVisualManager.cs
- PropertyDescriptorGridEntry.cs
- SettingsProviderCollection.cs
- PrtTicket_Public_Simple.cs
- EventLogException.cs
- XmlSchemaRedefine.cs
- SqlException.cs
- ReadOnlyHierarchicalDataSource.cs
- FlowStep.cs
- BlurBitmapEffect.cs
- TypedReference.cs
- XmlEncoding.cs
- PhysicalFontFamily.cs
- SafeTimerHandle.cs
- WebPartCatalogCloseVerb.cs
- AnnotationObservableCollection.cs
- SchemaImporter.cs
- TargetFrameworkAttribute.cs
- OdbcConnectionHandle.cs
- storepermission.cs
- OdbcEnvironmentHandle.cs
- DataGridViewDataConnection.cs
- wgx_render.cs
- Attributes.cs
- TypedTableHandler.cs
- ParameterBuilder.cs
- AnnotationAuthorChangedEventArgs.cs
- basevalidator.cs
- xdrvalidator.cs
- GlyphInfoList.cs
- AvtEvent.cs
- TextCollapsingProperties.cs
- PropertyMapper.cs
- UriTemplateLiteralQueryValue.cs
- PositiveTimeSpanValidatorAttribute.cs
- BaseUriHelper.cs
- StringUtil.cs
- Ref.cs
- Pen.cs