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
- EqualityComparer.cs
- BitmapCacheBrush.cs
- RepeaterItemCollection.cs
- TransformValueSerializer.cs
- UnauthorizedWebPart.cs
- _SecureChannel.cs
- HostedController.cs
- RemoveStoryboard.cs
- AnnotationHelper.cs
- StrokeNodeOperations.cs
- DirtyTextRange.cs
- WebPartEditorApplyVerb.cs
- TextEditorTables.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- shaper.cs
- HtmlFormAdapter.cs
- EdmMember.cs
- RightsManagementEncryptionTransform.cs
- Currency.cs
- FrameworkElement.cs
- DebugView.cs
- PartialCachingAttribute.cs
- WebConfigurationHost.cs
- Transform3D.cs
- StrokeCollection.cs
- GroupItemAutomationPeer.cs
- BrowserCapabilitiesFactoryBase.cs
- KeyValuePair.cs
- ShimAsPublicXamlType.cs
- CookieParameter.cs
- WindowsAuthenticationModule.cs
- QilParameter.cs
- WmpBitmapDecoder.cs
- ItemType.cs
- XmlSerializableServices.cs
- TdsParserHelperClasses.cs
- Point3DConverter.cs
- DiscoveryClientRequestChannel.cs
- ParamArrayAttribute.cs
- TryCatchDesigner.xaml.cs
- SqlFormatter.cs
- SqlConnectionFactory.cs
- UniqueConstraint.cs
- KeyValueConfigurationElement.cs
- RectangleHotSpot.cs
- DataGridViewColumnConverter.cs
- HttpServerVarsCollection.cs
- TrackingServices.cs
- SafeLibraryHandle.cs
- CryptoApi.cs
- AttributeProviderAttribute.cs
- MarginCollapsingState.cs
- EventMap.cs
- ResXResourceWriter.cs
- MethodCallTranslator.cs
- TabRenderer.cs
- Stacktrace.cs
- Profiler.cs
- DataGridRowHeader.cs
- VerificationAttribute.cs
- IncrementalReadDecoders.cs
- EllipseGeometry.cs
- Column.cs
- ListViewGroup.cs
- AutomationPeer.cs
- SortKey.cs
- EntityDataSourceWrapper.cs
- CornerRadius.cs
- EditorPart.cs
- GridEntryCollection.cs
- TraceContext.cs
- URLIdentityPermission.cs
- XmlSerializationReader.cs
- PointAnimationBase.cs
- DocumentViewerBase.cs
- InplaceBitmapMetadataWriter.cs
- ByteKeyFrameCollection.cs
- Completion.cs
- DataSet.cs
- DataGridPageChangedEventArgs.cs
- SizeChangedEventArgs.cs
- ReferencedCollectionType.cs
- FilterElement.cs
- HtmlTitle.cs
- XsdSchemaFileEditor.cs
- SQLString.cs
- SQLInt16Storage.cs
- ClientType.cs
- Literal.cs
- xmlglyphRunInfo.cs
- PropertyChange.cs
- ParallelTimeline.cs
- prefixendpointaddressmessagefiltertable.cs
- SoapReflectionImporter.cs
- MouseOverProperty.cs
- DesignerHelpers.cs
- CompilerTypeWithParams.cs
- CollectionViewGroupInternal.cs
- StartUpEventArgs.cs
- LinqDataSourceDisposeEventArgs.cs