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
- ImmComposition.cs
- VSWCFServiceContractGenerator.cs
- ZipIOExtraField.cs
- TableColumn.cs
- MimeTypePropertyAttribute.cs
- TreeViewCancelEvent.cs
- UnsafeNetInfoNativeMethods.cs
- TimeSpan.cs
- RegexCapture.cs
- ProviderIncompatibleException.cs
- ByteAnimation.cs
- FileStream.cs
- XPathPatternBuilder.cs
- XmlFormatExtensionPointAttribute.cs
- GridViewRowCollection.cs
- FormsIdentity.cs
- SchemaInfo.cs
- PathTooLongException.cs
- PropertyMapper.cs
- EntityTypeBase.cs
- WebPartDisplayModeCollection.cs
- GcHandle.cs
- ConsumerConnectionPointCollection.cs
- GridViewUpdatedEventArgs.cs
- SqlClientFactory.cs
- SqlDataSourceFilteringEventArgs.cs
- Span.cs
- BooleanToVisibilityConverter.cs
- GeneralTransform3DTo2D.cs
- ConstNode.cs
- CollectionConverter.cs
- ClientSponsor.cs
- PersonalizationStateInfo.cs
- CompiledQuery.cs
- EnterpriseServicesHelper.cs
- RequestStatusBarUpdateEventArgs.cs
- ExpressionBuilderContext.cs
- XPathNode.cs
- PropertyGridEditorPart.cs
- DataTemplateSelector.cs
- CodeGenerator.cs
- PackageFilter.cs
- RuntimeArgumentHandle.cs
- HtmlShimManager.cs
- Literal.cs
- Typeface.cs
- FormatterServices.cs
- DependencyPropertyChangedEventArgs.cs
- SecureConversationDriver.cs
- Stack.cs
- NativeMethods.cs
- IODescriptionAttribute.cs
- InheritanceAttribute.cs
- sqlstateclientmanager.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- WindowsFormsDesignerOptionService.cs
- LinearGradientBrush.cs
- AddingNewEventArgs.cs
- DataListDesigner.cs
- CacheSection.cs
- BypassElement.cs
- SchemaSetCompiler.cs
- DataTableMapping.cs
- VScrollProperties.cs
- PolicyException.cs
- PropVariant.cs
- KerberosSecurityTokenAuthenticator.cs
- ServiceRoute.cs
- MissingMethodException.cs
- RootProfilePropertySettingsCollection.cs
- WebEventTraceProvider.cs
- TabPage.cs
- ExpandSegment.cs
- RoutedEventHandlerInfo.cs
- OutputCacheProfile.cs
- Pen.cs
- TypeInfo.cs
- QilInvokeEarlyBound.cs
- FigureParaClient.cs
- XomlCompilerHelpers.cs
- SqlCommand.cs
- ProcessHostMapPath.cs
- ProxyHwnd.cs
- CorePropertiesFilter.cs
- EnumerableRowCollectionExtensions.cs
- DefaultObjectMappingItemCollection.cs
- StylusButtonEventArgs.cs
- EdmComplexPropertyAttribute.cs
- StrokeSerializer.cs
- DbInsertCommandTree.cs
- EdmMember.cs
- SubtreeProcessor.cs
- LOSFormatter.cs
- BindingContext.cs
- Int16.cs
- ScriptIgnoreAttribute.cs
- ProviderIncompatibleException.cs
- UiaCoreApi.cs
- ParserContext.cs
- FixedPage.cs