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
- ServiceDescriptionImporter.cs
- CodeGroup.cs
- Baml2006Reader.cs
- RefExpr.cs
- ClientSideQueueItem.cs
- Function.cs
- DataGridItemCollection.cs
- Matrix3D.cs
- DiscreteKeyFrames.cs
- CancelEventArgs.cs
- DialogBaseForm.cs
- XmlSchemaException.cs
- Brush.cs
- PeerName.cs
- CodeMemberMethod.cs
- DataRow.cs
- WebChannelFactory.cs
- DbReferenceCollection.cs
- WebEncodingValidatorAttribute.cs
- DataGridAutomationPeer.cs
- XmlILIndex.cs
- StringComparer.cs
- XmlSchemaSet.cs
- ForEachAction.cs
- RequestCache.cs
- WebPartDisplayModeEventArgs.cs
- MenuRendererStandards.cs
- ActivityTypeCodeDomSerializer.cs
- DateTime.cs
- ListViewHitTestInfo.cs
- CollectionViewSource.cs
- ErrorFormatter.cs
- CustomCategoryAttribute.cs
- SchemaHelper.cs
- ApplicationInfo.cs
- ProcessModelInfo.cs
- AttributeUsageAttribute.cs
- Events.cs
- DbProviderManifest.cs
- ListSortDescriptionCollection.cs
- LambdaCompiler.Generated.cs
- AttachmentCollection.cs
- XmlReader.cs
- ClassHandlersStore.cs
- DataGridViewCellConverter.cs
- HwndHostAutomationPeer.cs
- SynchronizedDispatch.cs
- IssuedTokenParametersEndpointAddressElement.cs
- Visitor.cs
- MetaModel.cs
- WindowsToolbarAsMenu.cs
- sortedlist.cs
- EntityTypeBase.cs
- VariableDesigner.xaml.cs
- HeaderUtility.cs
- SByteStorage.cs
- DataServiceHost.cs
- ReceiveMessageContent.cs
- MimeFormatter.cs
- SyndicationPerson.cs
- TemplateBuilder.cs
- KeyPullup.cs
- WebRequest.cs
- XamlContextStack.cs
- CodeGen.cs
- RepeatBehaviorConverter.cs
- ItemsChangedEventArgs.cs
- WMIInterop.cs
- ComponentChangingEvent.cs
- DataSysAttribute.cs
- PackageRelationshipCollection.cs
- ThemeDirectoryCompiler.cs
- TextServicesCompartment.cs
- KnownIds.cs
- DesignerTextViewAdapter.cs
- SecurityAlgorithmSuiteConverter.cs
- TemplateDefinition.cs
- ListArgumentProvider.cs
- RowVisual.cs
- ModuleElement.cs
- ScriptingRoleServiceSection.cs
- Action.cs
- QueryOutputWriter.cs
- MsmqProcessProtocolHandler.cs
- SourceCollection.cs
- DocumentSequenceHighlightLayer.cs
- SyndicationSerializer.cs
- EntitySqlQueryCacheKey.cs
- FilterableAttribute.cs
- ChildDocumentBlock.cs
- ExpandedWrapper.cs
- ScalarType.cs
- PositiveTimeSpanValidator.cs
- WebPartUserCapability.cs
- CodeTypeParameterCollection.cs
- BuildManager.cs
- ConfigurationSettings.cs
- TextWriter.cs
- DataPager.cs
- HandlerBase.cs