Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / EncryptedData.cs / 1305376 / EncryptedData.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // EncryptedData.cs // // This object implements the EncryptedData element. // // 04/01/2002 // namespace System.Security.Cryptography.Xml { using System; using System.Collections; using System.Xml; [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EncryptedData : EncryptedType { public override void LoadXml(XmlElement value) { if (value == null) throw new ArgumentNullException("value"); XmlNamespaceManager nsm = new XmlNamespaceManager(value.OwnerDocument.NameTable); nsm.AddNamespace("enc", EncryptedXml.XmlEncNamespaceUrl); nsm.AddNamespace("ds", SignedXml.XmlDsigNamespaceUrl); this.Id = Utils.GetAttribute(value, "Id", EncryptedXml.XmlEncNamespaceUrl); this.Type = Utils.GetAttribute(value, "Type", EncryptedXml.XmlEncNamespaceUrl); this.MimeType = Utils.GetAttribute(value, "MimeType", EncryptedXml.XmlEncNamespaceUrl); this.Encoding = Utils.GetAttribute(value, "Encoding", EncryptedXml.XmlEncNamespaceUrl); XmlNode encryptionMethodNode = value.SelectSingleNode("enc:EncryptionMethod", nsm); // EncryptionMethod this.EncryptionMethod = new EncryptionMethod(); if (encryptionMethodNode != null) this.EncryptionMethod.LoadXml(encryptionMethodNode as XmlElement); // Key Info this.KeyInfo = new KeyInfo(); XmlNode keyInfoNode = value.SelectSingleNode("ds:KeyInfo", nsm); if (keyInfoNode != null) this.KeyInfo.LoadXml(keyInfoNode as XmlElement); // CipherData XmlNode cipherDataNode = value.SelectSingleNode("enc:CipherData", nsm); if (cipherDataNode == null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_MissingCipherData")); this.CipherData = new CipherData(); this.CipherData.LoadXml(cipherDataNode as XmlElement); // EncryptionProperties XmlNode encryptionPropertiesNode = value.SelectSingleNode("enc:EncryptionProperties", nsm); if (encryptionPropertiesNode != null) { // Select the EncryptionProperty elements inside the EncryptionProperties element XmlNodeList encryptionPropertyNodes = encryptionPropertiesNode.SelectNodes("enc:EncryptionProperty", nsm); if (encryptionPropertyNodes != null) { foreach (XmlNode node in encryptionPropertyNodes) { EncryptionProperty ep = new EncryptionProperty(); ep.LoadXml(node as XmlElement); this.EncryptionProperties.Add(ep); } } } // Save away the cached value m_cachedXml = value; } public override XmlElement GetXml() { if (CacheValid) return(m_cachedXml); XmlDocument document = new XmlDocument(); document.PreserveWhitespace = true; return GetXml(document); } internal XmlElement GetXml (XmlDocument document) { // Create the EncryptedData element XmlElement encryptedDataElement = (XmlElement) document.CreateElement("EncryptedData", EncryptedXml.XmlEncNamespaceUrl); // Deal with attributes if (!String.IsNullOrEmpty(this.Id)) encryptedDataElement.SetAttribute("Id", this.Id); if (!String.IsNullOrEmpty(this.Type)) encryptedDataElement.SetAttribute("Type", this.Type); if (!String.IsNullOrEmpty(this.MimeType)) encryptedDataElement.SetAttribute("MimeType", this.MimeType); if (!String.IsNullOrEmpty(this.Encoding)) encryptedDataElement.SetAttribute("Encoding", this.Encoding); // EncryptionMethod if (this.EncryptionMethod != null) encryptedDataElement.AppendChild(this.EncryptionMethod.GetXml(document)); // KeyInfo if (this.KeyInfo.Count > 0) encryptedDataElement.AppendChild(this.KeyInfo.GetXml(document)); // CipherData is required. if (this.CipherData == null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_MissingCipherData")); encryptedDataElement.AppendChild(this.CipherData.GetXml(document)); // EncryptionProperties if (this.EncryptionProperties.Count > 0) { XmlElement encryptionPropertiesElement = document.CreateElement("EncryptionProperties", EncryptedXml.XmlEncNamespaceUrl); for (int index = 0; index < this.EncryptionProperties.Count; index++) { EncryptionProperty ep = this.EncryptionProperties.Item(index); encryptionPropertiesElement.AppendChild(ep.GetXml(document)); } encryptedDataElement.AppendChild(encryptionPropertiesElement); } return encryptedDataElement; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MatcherBuilder.cs
- LinearGradientBrush.cs
- ScrollEvent.cs
- TextRange.cs
- FacetEnabledSchemaElement.cs
- CLSCompliantAttribute.cs
- DBCSCodePageEncoding.cs
- TextParaClient.cs
- panel.cs
- ComponentDispatcher.cs
- ExceptionUtil.cs
- ConstraintConverter.cs
- PageContentCollection.cs
- Int64Animation.cs
- FeatureSupport.cs
- XmlText.cs
- WebBodyFormatMessageProperty.cs
- ProfileBuildProvider.cs
- FloaterBaseParagraph.cs
- DataGridAddNewRow.cs
- X509Certificate2Collection.cs
- DoubleLink.cs
- SQLInt64Storage.cs
- StrokeNodeOperations2.cs
- SQLUtility.cs
- ParseElementCollection.cs
- HMAC.cs
- EntityProviderFactory.cs
- FormViewPageEventArgs.cs
- ControlType.cs
- EventDescriptorCollection.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- WebPartZoneCollection.cs
- SchemaNamespaceManager.cs
- UIElementAutomationPeer.cs
- DeferredBinaryDeserializerExtension.cs
- OutputCacheSection.cs
- TypeConverterHelper.cs
- SpellerHighlightLayer.cs
- AssertFilter.cs
- Formatter.cs
- TextRangeSerialization.cs
- shaperfactoryquerycachekey.cs
- AddInAttribute.cs
- StaticDataManager.cs
- LongPath.cs
- UInt64Converter.cs
- ImageAnimator.cs
- TypeExtension.cs
- SecurityDocument.cs
- CodeFieldReferenceExpression.cs
- PolyLineSegmentFigureLogic.cs
- Sql8ExpressionRewriter.cs
- TextParentUndoUnit.cs
- Rss20FeedFormatter.cs
- LinqDataSourceSelectEventArgs.cs
- AnonymousIdentificationModule.cs
- OpenFileDialog.cs
- TextStore.cs
- Baml2006ReaderFrame.cs
- TableAutomationPeer.cs
- ValidationErrorEventArgs.cs
- SpellerInterop.cs
- CacheRequest.cs
- FormatterServices.cs
- Executor.cs
- BamlMapTable.cs
- PackageProperties.cs
- ActiveXHost.cs
- CommandManager.cs
- ConnectionManagementElementCollection.cs
- Psha1DerivedKeyGenerator.cs
- RichTextBoxAutomationPeer.cs
- StickyNote.cs
- TypeConverterHelper.cs
- ServiceNotStartedException.cs
- MeshGeometry3D.cs
- SmiMetaDataProperty.cs
- WindowsProgressbar.cs
- DiscoveryServiceExtension.cs
- FixedFlowMap.cs
- DayRenderEvent.cs
- NamedPipeHostedTransportConfiguration.cs
- ParserHooks.cs
- DisplayInformation.cs
- Membership.cs
- ScriptingJsonSerializationSection.cs
- ListControlActionList.cs
- XmlRawWriter.cs
- WebServiceClientProxyGenerator.cs
- ActivityLocationReferenceEnvironment.cs
- OracleMonthSpan.cs
- AspProxy.cs
- X509ChainElement.cs
- ReflectionPermission.cs
- GenericQueueSurrogate.cs
- TextWriterEngine.cs
- WebSysDescriptionAttribute.cs
- unsafenativemethodsother.cs
- ApplicationActivator.cs