Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecureConversationFeb2005.cs / 1 / WSSecureConversationFeb2005.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System; using System.ServiceModel; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Text; using System.Threading; using System.Xml; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; using System.Security.Cryptography.X509Certificates; using HexBinary = System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.ServiceModel.Security.Tokens; using System.Runtime.Serialization; using KeyIdentifierEntry = WSSecurityTokenSerializer.KeyIdentifierEntry; using KeyIdentifierClauseEntry = WSSecurityTokenSerializer.KeyIdentifierClauseEntry; using StrEntry = WSSecurityTokenSerializer.StrEntry; using TokenEntry = WSSecurityTokenSerializer.TokenEntry; class WSSecureConversationFeb2005 : WSSecureConversation { SecurityStateEncoder securityStateEncoder; IListknownClaimTypes; public WSSecureConversationFeb2005(WSSecurityTokenSerializer tokenSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable knownTypes, int maxKeyDerivationOffset, int maxKeyDerivationLabelLength, int maxKeyDerivationNonceLength) : base(tokenSerializer, maxKeyDerivationOffset, maxKeyDerivationLabelLength, maxKeyDerivationNonceLength) { if (securityStateEncoder != null) { this.securityStateEncoder = securityStateEncoder; } else { this.securityStateEncoder = new DataProtectionSecurityStateEncoder(); } this.knownClaimTypes = new List (); if (knownTypes != null) { // Clone this collection. foreach (Type knownType in knownTypes) { this.knownClaimTypes.Add(knownType); } } } public override SecureConversationDictionary SerializerDictionary { get { return XD.SecureConversationFeb2005Dictionary; } } public override void PopulateStrEntries(IList strEntries) { strEntries.Add(new SctStrEntryFeb2005(this)); } public override void PopulateTokenEntries(IList tokenEntryList) { base.PopulateTokenEntries(tokenEntryList); tokenEntryList.Add(new SecurityContextTokenEntryFeb2005(this, this.securityStateEncoder, this.knownClaimTypes)); } class SecurityContextTokenEntryFeb2005 : SecurityContextTokenEntry { public SecurityContextTokenEntryFeb2005(WSSecureConversationFeb2005 parent, SecurityStateEncoder securityStateEncoder, IList knownClaimTypes) : base(parent, securityStateEncoder, knownClaimTypes) { } protected override bool CanReadGeneration(XmlDictionaryReader reader) { return reader.IsStartElement(DXD.SecureConversationDec2005Dictionary.Instance, XD.SecureConversationFeb2005Dictionary.Namespace); } protected override bool CanReadGeneration(XmlElement element) { return (element.LocalName == DXD.SecureConversationDec2005Dictionary.Instance.Value && element.NamespaceURI == XD.SecureConversationFeb2005Dictionary.Namespace.Value); } protected override UniqueId ReadGeneration(XmlDictionaryReader reader) { return reader.ReadElementContentAsUniqueId(); } protected override UniqueId ReadGeneration(XmlElement element) { return XmlHelper.ReadTextElementAsUniqueId(element); } protected override void WriteGeneration(XmlDictionaryWriter writer, SecurityContextSecurityToken sct) { // serialize the generation if (sct.KeyGeneration != null) { writer.WriteStartElement(XD.SecureConversationFeb2005Dictionary.Prefix.Value, DXD.SecureConversationDec2005Dictionary.Instance, XD.SecureConversationFeb2005Dictionary.Namespace); XmlHelper.WriteStringAsUniqueId(writer, sct.KeyGeneration); writer.WriteEndElement(); } } } class SctStrEntryFeb2005 : SctStrEntry { public SctStrEntryFeb2005(WSSecureConversationFeb2005 parent) : base(parent) { } protected override UniqueId ReadGeneration(XmlDictionaryReader reader) { return XmlHelper.GetAttributeAsUniqueId(reader, DXD.SecureConversationDec2005Dictionary.Instance, XD.SecureConversationFeb2005Dictionary.Namespace); } protected override void WriteGeneration(XmlDictionaryWriter writer, SecurityContextKeyIdentifierClause clause) { // serialize the generation if (clause.Generation != null) { XmlHelper.WriteAttributeStringAsUniqueId(writer, XD.SecureConversationFeb2005Dictionary.Prefix.Value, DXD.SecureConversationDec2005Dictionary.Instance, XD.SecureConversationFeb2005Dictionary.Namespace, clause.Generation); } } } public class DriverFeb2005 : Driver { public DriverFeb2005() { } protected override SecureConversationDictionary DriverDictionary { get { return XD.SecureConversationFeb2005Dictionary; } } public override XmlDictionaryString CloseAction { get { return XD.SecureConversationFeb2005Dictionary.RequestSecurityContextClose; } } public override XmlDictionaryString CloseResponseAction { get { return XD.SecureConversationFeb2005Dictionary.RequestSecurityContextCloseResponse; } } public override bool IsSessionSupported { get { return true; } } public override XmlDictionaryString RenewAction { get { return XD.SecureConversationFeb2005Dictionary.RequestSecurityContextRenew; } } public override XmlDictionaryString RenewResponseAction { get { return XD.SecureConversationFeb2005Dictionary.RequestSecurityContextRenewResponse; } } public override XmlDictionaryString Namespace { get { return XD.SecureConversationFeb2005Dictionary.Namespace; } } public override string TokenTypeUri { get { return XD.SecureConversationFeb2005Dictionary.SecurityContextTokenType.Value; } } } } } // 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
- HorizontalAlignConverter.cs
- SnapLine.cs
- HttpConfigurationSystem.cs
- InvalidComObjectException.cs
- MenuAdapter.cs
- MenuItem.cs
- FixedSOMPage.cs
- LinearKeyFrames.cs
- EventProvider.cs
- ValueConversionAttribute.cs
- XmlDataImplementation.cs
- SmiMetaData.cs
- DataControlPagerLinkButton.cs
- SynchronizationContext.cs
- DynamicAttribute.cs
- GeneralTransform3DCollection.cs
- Validator.cs
- ValidationRule.cs
- TransferRequestHandler.cs
- Trace.cs
- CommonGetThemePartSize.cs
- mediaclock.cs
- CustomPopupPlacement.cs
- ClientScriptManager.cs
- UdpRetransmissionSettings.cs
- CryptoHandle.cs
- OleDbException.cs
- HttpModuleCollection.cs
- GridViewCommandEventArgs.cs
- DataSvcMapFile.cs
- WorkflowApplication.cs
- LineMetrics.cs
- WasNotInstalledException.cs
- ColorMatrix.cs
- ResourceAttributes.cs
- IconEditor.cs
- SQLMoneyStorage.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- InputManager.cs
- SkewTransform.cs
- EpmContentDeSerializerBase.cs
- NodeCounter.cs
- SmiMetaDataProperty.cs
- SingleTagSectionHandler.cs
- Query.cs
- PrefixQName.cs
- MemberAccessException.cs
- HttpListenerContext.cs
- MessageDecoder.cs
- DataContractSerializerOperationBehavior.cs
- XmlDataSource.cs
- SelectorItemAutomationPeer.cs
- ApplicationTrust.cs
- WebZone.cs
- ZipIOExtraFieldZip64Element.cs
- BitmapScalingModeValidation.cs
- BaseDataListPage.cs
- HotSpot.cs
- SymmetricSecurityProtocolFactory.cs
- HttpResponse.cs
- FindCompletedEventArgs.cs
- WebServiceTypeData.cs
- PersonalizationDictionary.cs
- DocumentViewerHelper.cs
- ParserExtension.cs
- ProcessStartInfo.cs
- ListCollectionView.cs
- FontFamilyConverter.cs
- SweepDirectionValidation.cs
- OletxCommittableTransaction.cs
- SecurityPermission.cs
- UnhandledExceptionEventArgs.cs
- OperationPickerDialog.designer.cs
- SafeArrayTypeMismatchException.cs
- CodeChecksumPragma.cs
- HtmlForm.cs
- WindowsTreeView.cs
- PasswordPropertyTextAttribute.cs
- EntryPointNotFoundException.cs
- PropertyDescriptor.cs
- WebPartEventArgs.cs
- EventData.cs
- TableAutomationPeer.cs
- XmlSerializationGeneratedCode.cs
- CachingHintValidation.cs
- ProjectionCamera.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- CollectionChangeEventArgs.cs
- ActivityCodeDomReferenceService.cs
- XmlUtil.cs
- PathParser.cs
- RoleProviderPrincipal.cs
- DataTableCollection.cs
- FixUpCollection.cs
- HostProtectionPermission.cs
- GeneralTransform3DTo2DTo3D.cs
- SerializationEventsCache.cs
- NetworkAddressChange.cs
- ZoomComboBox.cs
- PeerNeighborManager.cs