Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / EncryptedHeaderXml.cs / 1 / EncryptedHeaderXml.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.IO; using System.ServiceModel.Channels; using System.ServiceModel; using System.IdentityModel.Tokens; using System.IdentityModel.Selectors; using System.Security.Cryptography; using System.Xml; using DictionaryManager = System.IdentityModel.DictionaryManager; using ISecurityElement = System.IdentityModel.ISecurityElement; sealed class EncryptedHeaderXml { internal static readonly XmlDictionaryString ElementName = XD.SecurityXXX2005Dictionary.EncryptedHeader; internal static readonly XmlDictionaryString NamespaceUri = XD.SecurityXXX2005Dictionary.Namespace; const string Prefix = SecurityXXX2005Strings.Prefix; string id; bool mustUnderstand; bool relay; string actor; MessageVersion version; EncryptedData encryptedData; public EncryptedHeaderXml(MessageVersion version) { this.version = version; encryptedData = new EncryptedData(); } public string Actor { get { return this.actor; } set { this.actor = value; } } public string EncryptionMethod { get { return encryptedData.EncryptionMethod; } set { encryptedData.EncryptionMethod = value; } } public XmlDictionaryString EncryptionMethodDictionaryString { get { return encryptedData.EncryptionMethodDictionaryString; } set { encryptedData.EncryptionMethodDictionaryString = value; } } public bool HasId { get { return true; } } public string Id { get { return id; } set { id = value; } } public SecurityKeyIdentifier KeyIdentifier { get { return encryptedData.KeyIdentifier; } set { encryptedData.KeyIdentifier = value; } } public bool MustUnderstand { get { return this.mustUnderstand; } set { this.mustUnderstand = value; } } public bool Relay { get { return this.relay; } set { this.relay = value; } } public SecurityTokenSerializer SecurityTokenSerializer { get { return encryptedData.SecurityTokenSerializer; } set { encryptedData.SecurityTokenSerializer = value; } } public byte[] GetDecryptedBuffer() { return encryptedData.GetDecryptedBuffer(); } public void ReadFrom(XmlDictionaryReader reader, long maxBufferSize) { reader.MoveToStartElement(ElementName, NamespaceUri); bool isReferenceParameter; MessageHeader.GetHeaderAttributes(reader, version, out this.actor, out this.mustUnderstand, out this.relay, out isReferenceParameter); this.id = reader.GetAttribute(XD.UtilityDictionary.IdAttribute, XD.UtilityDictionary.Namespace); reader.ReadStartElement(); encryptedData.ReadFrom(reader, maxBufferSize); reader.ReadEndElement(); } public void SetUpDecryption(SymmetricAlgorithm algorithm) { encryptedData.SetUpDecryption(algorithm); } public void SetUpEncryption(SymmetricAlgorithm algorithm, MemoryStream source) { encryptedData.SetUpEncryption(algorithm, new ArraySegment(source.GetBuffer(), 0, (int) source.Length)); } public void WriteHeaderElement(XmlDictionaryWriter writer) { writer.WriteStartElement(Prefix, ElementName, NamespaceUri); } public void WriteHeaderId(XmlDictionaryWriter writer) { writer.WriteAttributeString(XD.UtilityDictionary.Prefix.Value, XD.UtilityDictionary.IdAttribute, XD.UtilityDictionary.Namespace, id); } public void WriteHeaderContents(XmlDictionaryWriter writer) { this.encryptedData.WriteTo(writer, ServiceModelDictionaryManager.Instance); } } } // 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
- TextBreakpoint.cs
- ManagementNamedValueCollection.cs
- AccessibleObject.cs
- LiteralLink.cs
- OleDbParameterCollection.cs
- EastAsianLunisolarCalendar.cs
- CharacterHit.cs
- ControlBindingsCollection.cs
- ChannelManagerService.cs
- DesignerSerializerAttribute.cs
- HttpVersion.cs
- ToolboxItem.cs
- Helpers.cs
- MaskedTextBoxDesignerActionList.cs
- SafeCryptoHandles.cs
- RtfToken.cs
- WindowsListViewItem.cs
- CompilerState.cs
- ListViewItem.cs
- Formatter.cs
- UnsignedPublishLicense.cs
- Camera.cs
- SuppressIldasmAttribute.cs
- SelectionEditor.cs
- MaskedTextBox.cs
- mactripleDES.cs
- DuplicateContext.cs
- InputLanguage.cs
- DirectoryLocalQuery.cs
- ConfigXmlComment.cs
- ModelVisual3D.cs
- ResizeBehavior.cs
- OptimalBreakSession.cs
- XmlReader.cs
- CompositionCommandSet.cs
- Padding.cs
- IOException.cs
- FieldAccessException.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- ErrorFormatterPage.cs
- BoundsDrawingContextWalker.cs
- Compensate.cs
- _ListenerAsyncResult.cs
- Point3D.cs
- FormConverter.cs
- PackageRelationshipCollection.cs
- EdmFunctionAttribute.cs
- RuntimeComponentFilter.cs
- SafeThreadHandle.cs
- XPathQilFactory.cs
- IntSecurity.cs
- MembershipSection.cs
- FamilyTypefaceCollection.cs
- WaitHandle.cs
- DesignerCategoryAttribute.cs
- FastPropertyAccessor.cs
- CodeSnippetExpression.cs
- ResponseBodyWriter.cs
- ConvertersCollection.cs
- CodeMemberMethod.cs
- TextSelectionHighlightLayer.cs
- MessageSmuggler.cs
- Events.cs
- SortedSet.cs
- RequestCachePolicy.cs
- SafeTokenHandle.cs
- LZCodec.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataGridRowClipboardEventArgs.cs
- StackSpiller.Temps.cs
- ToolStripContentPanelRenderEventArgs.cs
- HttpModulesSection.cs
- MatrixValueSerializer.cs
- Descriptor.cs
- StyleBamlTreeBuilder.cs
- Visual3D.cs
- TaskScheduler.cs
- RemoteWebConfigurationHost.cs
- TableLayoutSettings.cs
- Int32.cs
- DeviceSpecificChoiceCollection.cs
- PopupEventArgs.cs
- RoutedUICommand.cs
- DataControlLinkButton.cs
- SystemInformation.cs
- ListSourceHelper.cs
- IsolatedStoragePermission.cs
- TableLayoutSettingsTypeConverter.cs
- IfAction.cs
- DesignerContextDescriptor.cs
- XmlSchemaSequence.cs
- CqlParser.cs
- AbandonedMutexException.cs
- ConfigXmlElement.cs
- Win32MouseDevice.cs
- HiddenFieldDesigner.cs
- BaseCodeDomTreeGenerator.cs
- ExpressionBuilderCollection.cs
- GridViewDeletedEventArgs.cs
- EntityDataSourceReferenceGroup.cs