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
- SystemIcmpV6Statistics.cs
- XmlNullResolver.cs
- OuterGlowBitmapEffect.cs
- MsmqOutputChannel.cs
- ProviderSettingsCollection.cs
- PublisherIdentityPermission.cs
- TrackingConditionCollection.cs
- Rotation3DAnimationBase.cs
- RecipientInfo.cs
- OdbcUtils.cs
- BufferAllocator.cs
- SoundPlayerAction.cs
- DataExpression.cs
- WindowsScrollBarBits.cs
- StructuredTypeInfo.cs
- ButtonField.cs
- CreateUserErrorEventArgs.cs
- RuntimeConfig.cs
- XPathSelectionIterator.cs
- HtmlTitle.cs
- QualifiedCellIdBoolean.cs
- TreeNodeCollection.cs
- DictionaryContent.cs
- SafeUserTokenHandle.cs
- ResourceReferenceKeyNotFoundException.cs
- VectorCollectionConverter.cs
- TripleDES.cs
- ProcessHost.cs
- CompressStream.cs
- CaseStatementSlot.cs
- ObjectTokenCategory.cs
- ModuleBuilder.cs
- QueryConverter.cs
- PointAnimationUsingKeyFrames.cs
- FormsAuthenticationEventArgs.cs
- ProcessThreadDesigner.cs
- Registry.cs
- basevalidator.cs
- NameScopePropertyAttribute.cs
- storepermission.cs
- ColumnResizeUndoUnit.cs
- PackagePart.cs
- TdsParserStateObject.cs
- ClassDataContract.cs
- ActivationArguments.cs
- regiisutil.cs
- DragDrop.cs
- CodeFieldReferenceExpression.cs
- Pens.cs
- ToolStripDropDownItem.cs
- StreamUpgradeProvider.cs
- MenuCommands.cs
- Int64.cs
- SimpleWebHandlerParser.cs
- FunctionImportMapping.cs
- HttpWebRequestElement.cs
- InternalSafeNativeMethods.cs
- OdbcReferenceCollection.cs
- DbConnectionInternal.cs
- ManipulationInertiaStartingEventArgs.cs
- JsonWriterDelegator.cs
- OdbcConnectionHandle.cs
- ServiceInstanceProvider.cs
- Rules.cs
- oledbconnectionstring.cs
- RuntimeConfigurationRecord.cs
- JsonQueryStringConverter.cs
- DocumentXmlWriter.cs
- GridViewRowPresenterBase.cs
- SupportsEventValidationAttribute.cs
- MarkedHighlightComponent.cs
- BitmapFrameDecode.cs
- DispatcherEventArgs.cs
- ProfilePropertyMetadata.cs
- NameValueConfigurationElement.cs
- ZipPackagePart.cs
- TaskFormBase.cs
- LinearKeyFrames.cs
- SafeNativeMethods.cs
- ReadContentAsBinaryHelper.cs
- XmlSchemaSet.cs
- XPathNavigatorReader.cs
- WebHttpSecurityElement.cs
- CuspData.cs
- MapPathBasedVirtualPathProvider.cs
- _AutoWebProxyScriptWrapper.cs
- SyndicationItemFormatter.cs
- PlacementWorkspace.cs
- TryExpression.cs
- TemplateManager.cs
- ToolboxItem.cs
- XmlSchemaValidationException.cs
- ScriptComponentDescriptor.cs
- Rotation3DAnimationUsingKeyFrames.cs
- RegexRunner.cs
- MobileTextWriter.cs
- HiddenFieldPageStatePersister.cs
- PermissionSetEnumerator.cs
- Merger.cs
- InputManager.cs