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
- ThaiBuddhistCalendar.cs
- VirtualizedCellInfoCollection.cs
- ToolStripDropDownClosingEventArgs.cs
- ContextStaticAttribute.cs
- QueryRelOp.cs
- CellPartitioner.cs
- LinqDataSourceValidationException.cs
- DataAdapter.cs
- CellRelation.cs
- Quaternion.cs
- DecoderFallback.cs
- Int16Storage.cs
- ContextDataSourceView.cs
- ProfileInfo.cs
- GeometryCombineModeValidation.cs
- ElementAction.cs
- WindowsIdentity.cs
- DigestTraceRecordHelper.cs
- ThousandthOfEmRealDoubles.cs
- CompositeActivityValidator.cs
- KeyConverter.cs
- PostBackTrigger.cs
- SBCSCodePageEncoding.cs
- StrongNameKeyPair.cs
- SafeNativeMethods.cs
- WmlValidatorAdapter.cs
- SQLRoleProvider.cs
- Knowncolors.cs
- SessionSwitchEventArgs.cs
- MinimizableAttributeTypeConverter.cs
- ISFClipboardData.cs
- RequestCacheManager.cs
- DeviceFiltersSection.cs
- DataGridPageChangedEventArgs.cs
- WmlValidatorAdapter.cs
- SqlFileStream.cs
- FileDialog_Vista_Interop.cs
- Int64Storage.cs
- WebBaseEventKeyComparer.cs
- XhtmlConformanceSection.cs
- BackgroundFormatInfo.cs
- TreeViewImageIndexConverter.cs
- XmlValidatingReaderImpl.cs
- MexBindingElement.cs
- ErasingStroke.cs
- ListBox.cs
- IsolatedStoragePermission.cs
- TracingConnection.cs
- Roles.cs
- TypeBuilder.cs
- RuleInfoComparer.cs
- SqlSupersetValidator.cs
- ScrollChrome.cs
- FormViewUpdateEventArgs.cs
- LicenseProviderAttribute.cs
- GridSplitterAutomationPeer.cs
- GridViewSelectEventArgs.cs
- EmissiveMaterial.cs
- TypeGeneratedEventArgs.cs
- Annotation.cs
- SymbolMethod.cs
- FontStyles.cs
- LinkConverter.cs
- InvalidContentTypeException.cs
- ObservableDictionary.cs
- Assert.cs
- XPathNode.cs
- WebPartsSection.cs
- HttpCookiesSection.cs
- BitmapEffectDrawing.cs
- DelegatingMessage.cs
- BooleanFunctions.cs
- ClientSettingsSection.cs
- PageSettings.cs
- SessionIDManager.cs
- LayoutInformation.cs
- CodeTypeDeclaration.cs
- TextTreeTextElementNode.cs
- ZipIOLocalFileDataDescriptor.cs
- SyndicationElementExtension.cs
- PriorityQueue.cs
- HtmlElementCollection.cs
- BuildProvider.cs
- SqlNode.cs
- Sentence.cs
- Set.cs
- QuaternionRotation3D.cs
- Knowncolors.cs
- MSAAEventDispatcher.cs
- FileLevelControlBuilderAttribute.cs
- DependsOnAttribute.cs
- ConsoleCancelEventArgs.cs
- CodeThrowExceptionStatement.cs
- InputDevice.cs
- SettingsSavedEventArgs.cs
- ComPlusContractBehavior.cs
- EditingCoordinator.cs
- newinstructionaction.cs
- TextBreakpoint.cs
- WebPartZoneDesigner.cs