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
- SplitterPanel.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- IPAddress.cs
- LabelInfo.cs
- ProgressBarRenderer.cs
- TimeoutException.cs
- DataPagerField.cs
- TextRunTypographyProperties.cs
- ForceCopyBuildProvider.cs
- StringComparer.cs
- unsafenativemethodstextservices.cs
- SqlIdentifier.cs
- LeaseManager.cs
- EntityDataSource.cs
- Tracking.cs
- MailHeaderInfo.cs
- MsmqTransportSecurity.cs
- SubMenuStyleCollection.cs
- XsdBuilder.cs
- ToolStripMenuItem.cs
- FileDialogCustomPlaces.cs
- _NestedMultipleAsyncResult.cs
- IisTraceListener.cs
- StorageScalarPropertyMapping.cs
- Property.cs
- ThreadInterruptedException.cs
- EntityDataSourceColumn.cs
- ResXResourceWriter.cs
- BitmapEffectDrawing.cs
- WindowsFormsLinkLabel.cs
- XmlSerializerOperationFormatter.cs
- Timer.cs
- GroupStyle.cs
- WebPartsPersonalizationAuthorization.cs
- OdbcCommand.cs
- BlobPersonalizationState.cs
- GenericEnumerator.cs
- ThreadStartException.cs
- DateTimeValueSerializer.cs
- ToggleProviderWrapper.cs
- FunctionQuery.cs
- SecurityDocument.cs
- SystemIcmpV4Statistics.cs
- Component.cs
- CompositeFontParser.cs
- ManagedIStream.cs
- OutputBuffer.cs
- RightsManagementEncryptedStream.cs
- ADConnectionHelper.cs
- ProxyWebPart.cs
- BindingCollection.cs
- DataObject.cs
- ProcessModule.cs
- EventManager.cs
- GridViewUpdateEventArgs.cs
- TemplateXamlTreeBuilder.cs
- SslStream.cs
- ProxyManager.cs
- WindowsNonControl.cs
- PeerName.cs
- safemediahandle.cs
- adornercollection.cs
- BasicKeyConstraint.cs
- ConstructorArgumentAttribute.cs
- MenuAutomationPeer.cs
- XmlSerializationWriter.cs
- DataGridCell.cs
- WebZoneDesigner.cs
- EmbeddedMailObjectsCollection.cs
- Walker.cs
- RequestTimeoutManager.cs
- PromptBuilder.cs
- DataServiceKeyAttribute.cs
- CellQuery.cs
- SettingsAttributes.cs
- VirtualPathProvider.cs
- ConfigXmlSignificantWhitespace.cs
- TableParagraph.cs
- NavigatingCancelEventArgs.cs
- BinaryFormatterWriter.cs
- Filter.cs
- ClientSponsor.cs
- CheckBoxField.cs
- EnumValidator.cs
- TableStyle.cs
- CharEnumerator.cs
- QueryPageSettingsEventArgs.cs
- URI.cs
- WpfWebRequestHelper.cs
- AuthenticationManager.cs
- NativeMethods.cs
- Transform3DCollection.cs
- BamlRecordReader.cs
- KeyGesture.cs
- RightsManagementManager.cs
- ParserStreamGeometryContext.cs
- NativeWindow.cs
- SiteMembershipCondition.cs
- ClassHandlersStore.cs
- GreenMethods.cs