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
- DBConcurrencyException.cs
- DataObject.cs
- sqlinternaltransaction.cs
- QilFunction.cs
- ExpandableObjectConverter.cs
- Matrix3D.cs
- PopupRootAutomationPeer.cs
- TcpServerChannel.cs
- SettingsPropertyCollection.cs
- FillErrorEventArgs.cs
- Msec.cs
- StaticFileHandler.cs
- DetailsViewRow.cs
- UniqueSet.cs
- processwaithandle.cs
- KeyValueSerializer.cs
- PropertyCollection.cs
- Win32Exception.cs
- WpfPayload.cs
- FieldTemplateFactory.cs
- xml.cs
- Figure.cs
- SHA384.cs
- UnaryNode.cs
- DiagnosticTrace.cs
- FaultPropagationRecord.cs
- GroupBoxRenderer.cs
- _OSSOCK.cs
- ApplyTemplatesAction.cs
- SqlTriggerAttribute.cs
- ColumnResult.cs
- DataViewSetting.cs
- VisualStyleInformation.cs
- WorkflowEventArgs.cs
- FaultCode.cs
- MessagePropertyVariants.cs
- SecuritySessionFilter.cs
- FormsAuthenticationConfiguration.cs
- SystemWebSectionGroup.cs
- MSHTMLHost.cs
- FieldDescriptor.cs
- UTF7Encoding.cs
- httpstaticobjectscollection.cs
- ResXBuildProvider.cs
- LoadMessageLogger.cs
- AutomationPeer.cs
- EntityTypeEmitter.cs
- KnownBoxes.cs
- ArgumentOutOfRangeException.cs
- TabletCollection.cs
- DataGridViewCellStyle.cs
- SearchForVirtualItemEventArgs.cs
- BindableAttribute.cs
- RecipientInfo.cs
- TextFormatterImp.cs
- TypographyProperties.cs
- RSAPKCS1SignatureFormatter.cs
- ObjectDisposedException.cs
- SchemaLookupTable.cs
- ApplicationManager.cs
- ImageSourceConverter.cs
- __TransparentProxy.cs
- AssociationTypeEmitter.cs
- ConsoleCancelEventArgs.cs
- ServiceBusyException.cs
- DbCommandTree.cs
- RequestReplyCorrelator.cs
- EpmTargetTree.cs
- DBConcurrencyException.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ResourceReferenceExpressionConverter.cs
- EntityProviderServices.cs
- RequestCachingSection.cs
- WebServiceData.cs
- TypeElementCollection.cs
- PolyLineSegment.cs
- Literal.cs
- NamespaceDecl.cs
- PropertyPathConverter.cs
- ISCIIEncoding.cs
- Metafile.cs
- SiteMapNodeItem.cs
- OdbcConnectionPoolProviderInfo.cs
- WithParamAction.cs
- HostingEnvironmentException.cs
- SiteMapProvider.cs
- NestPullup.cs
- columnmapfactory.cs
- CheckBoxList.cs
- DataFieldConverter.cs
- AppDomainAttributes.cs
- ReturnValue.cs
- EqualityComparer.cs
- WebPartConnectVerb.cs
- _ProxyChain.cs
- ControlParameter.cs
- CustomAttributeFormatException.cs
- MergablePropertyAttribute.cs
- EntityDataSourceContainerNameConverter.cs
- UserNamePasswordValidator.cs