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
- NumberFormatInfo.cs
- ExtractorMetadata.cs
- BamlRecords.cs
- CollectionConverter.cs
- DataServiceHost.cs
- util.cs
- InputProcessorProfilesLoader.cs
- UnsafeNativeMethodsPenimc.cs
- TraceHandler.cs
- Typography.cs
- itemelement.cs
- SchemaImporterExtension.cs
- TCPClient.cs
- FamilyMap.cs
- NetworkInformationException.cs
- CopyAction.cs
- RuleSettings.cs
- PropertyValueUIItem.cs
- PeerNameRegistration.cs
- CommandConverter.cs
- CreateUserWizard.cs
- WorkflowViewStateService.cs
- BmpBitmapDecoder.cs
- MatrixTransform3D.cs
- Variable.cs
- ResXResourceReader.cs
- SerializableAttribute.cs
- GifBitmapDecoder.cs
- OperationAbortedException.cs
- FastEncoder.cs
- AssemblyNameProxy.cs
- UnknownBitmapDecoder.cs
- SqlColumnizer.cs
- ResumeStoryboard.cs
- DataGridViewComboBoxColumn.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- WindowsHyperlink.cs
- XhtmlBasicFormAdapter.cs
- SchemaImporterExtensionsSection.cs
- KeyedCollection.cs
- DefaultPropertyAttribute.cs
- TemplateColumn.cs
- EndpointDispatcher.cs
- WebPartVerbsEventArgs.cs
- ZipIOLocalFileDataDescriptor.cs
- ResourceExpressionBuilder.cs
- PrePrepareMethodAttribute.cs
- XMLSchema.cs
- InputBinder.cs
- EntityDataSourceUtil.cs
- ToolStripLocationCancelEventArgs.cs
- ScrollBarAutomationPeer.cs
- ellipse.cs
- ResourceExpressionBuilder.cs
- MarginCollapsingState.cs
- FontCacheLogic.cs
- EncryptedPackageFilter.cs
- Int16KeyFrameCollection.cs
- TimeSpan.cs
- DataGridHeaderBorder.cs
- HtmlMeta.cs
- DBNull.cs
- GenericRootAutomationPeer.cs
- SchemaImporterExtension.cs
- CompositeKey.cs
- _OSSOCK.cs
- SR.Designer.cs
- _AutoWebProxyScriptHelper.cs
- HashMembershipCondition.cs
- ZoneLinkButton.cs
- FacetValues.cs
- SafeEventLogWriteHandle.cs
- CacheDependency.cs
- ProtocolsConfigurationHandler.cs
- WindowsFormsSectionHandler.cs
- TreeNodeStyle.cs
- PeerMessageDispatcher.cs
- PtsCache.cs
- TemplateKeyConverter.cs
- OutputScopeManager.cs
- WSSecureConversationFeb2005.cs
- InteropEnvironment.cs
- StrokeNodeOperations2.cs
- SourceFileInfo.cs
- QuaternionKeyFrameCollection.cs
- HeaderUtility.cs
- WorkflowMessageEventHandler.cs
- CrossSiteScriptingValidation.cs
- FileDialogPermission.cs
- CodeDomConfigurationHandler.cs
- SizeChangedEventArgs.cs
- TableLayoutSettingsTypeConverter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- StringValueConverter.cs
- SessionState.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- AncillaryOps.cs
- OdbcConnection.cs
- ResourceAttributes.cs
- StringUtil.cs