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
- BinaryReader.cs
- ResolveNameEventArgs.cs
- DesignerVerbCollection.cs
- SelectionItemPattern.cs
- RtType.cs
- ValidationUtility.cs
- LocatorPart.cs
- MonthCalendarDesigner.cs
- MasterPageBuildProvider.cs
- SchemaDeclBase.cs
- FloaterParaClient.cs
- SingleResultAttribute.cs
- LabelEditEvent.cs
- SegmentInfo.cs
- SettingsPropertyValueCollection.cs
- PingOptions.cs
- TableItemStyle.cs
- PersistenceTypeAttribute.cs
- Line.cs
- COM2ExtendedBrowsingHandler.cs
- ChannelManager.cs
- CodeDirectoryCompiler.cs
- SqlSelectStatement.cs
- XmlArrayAttribute.cs
- HitTestResult.cs
- coordinatorscratchpad.cs
- ProcessHostConfigUtils.cs
- SurrogateSelector.cs
- CodeTypeDeclarationCollection.cs
- SafeMemoryMappedViewHandle.cs
- QuaternionAnimationUsingKeyFrames.cs
- SemanticBasicElement.cs
- SqlDataSourceCache.cs
- updatecommandorderer.cs
- ToolStripSettings.cs
- DataSourceView.cs
- LocalValueEnumerator.cs
- WebContext.cs
- SystemPens.cs
- Matrix3DConverter.cs
- BitmapFrameEncode.cs
- LassoSelectionBehavior.cs
- UserMapPath.cs
- VariantWrapper.cs
- Misc.cs
- OdbcTransaction.cs
- XmlHierarchicalEnumerable.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- RemoveStoryboard.cs
- SqlMethodTransformer.cs
- Model3DCollection.cs
- ContentPlaceHolder.cs
- LineGeometry.cs
- DataGridColumnCollection.cs
- PartBasedPackageProperties.cs
- OrthographicCamera.cs
- DataGridViewCellConverter.cs
- TextRunCacheImp.cs
- FaultReasonText.cs
- FixedPageProcessor.cs
- RootDesignerSerializerAttribute.cs
- SystemIcmpV4Statistics.cs
- WebPartVerbsEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- Schema.cs
- GridViewCommandEventArgs.cs
- ModelUIElement3D.cs
- DataRelationPropertyDescriptor.cs
- Vector3DCollectionConverter.cs
- XmlWrappingWriter.cs
- AssemblyNameUtility.cs
- WebPartTracker.cs
- WebPartEditorOkVerb.cs
- IndexObject.cs
- UserPreferenceChangingEventArgs.cs
- ProfileManager.cs
- WebEvents.cs
- ProviderBase.cs
- ActivityExecutorDelegateInfo.cs
- MemoryPressure.cs
- _NtlmClient.cs
- BaseValidator.cs
- ComAwareEventInfo.cs
- FormClosedEvent.cs
- SplitterEvent.cs
- DataGridRelationshipRow.cs
- PostBackOptions.cs
- InkCanvasSelection.cs
- ImageCodecInfo.cs
- Publisher.cs
- XsdCachingReader.cs
- SynchronizationLockException.cs
- HeaderCollection.cs
- Library.cs
- HtmlValidationSummaryAdapter.cs
- RegionInfo.cs
- UInt16Converter.cs
- DomainUpDown.cs
- OdbcHandle.cs
- LogicalExpr.cs