Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / CipherData.cs / 1305376 / CipherData.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // CipherData.cs // // This object implements the CipherData element. // // 04/01/2001 // namespace System.Security.Cryptography.Xml { using System; using System.Collections; using System.Xml; [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class CipherData { private XmlElement m_cachedXml = null; private CipherReference m_cipherReference = null; private byte[] m_cipherValue = null; public CipherData () {} public CipherData (byte[] cipherValue) { this.CipherValue = cipherValue; } public CipherData (CipherReference cipherReference) { this.CipherReference = cipherReference; } private bool CacheValid { get { return (m_cachedXml != null); } } public CipherReference CipherReference { get { return m_cipherReference; } set { if (value == null) throw new ArgumentNullException("value"); if (this.CipherValue != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherReference = value; m_cachedXml = null; } } public byte[] CipherValue { get { return m_cipherValue; } set { if (value == null) throw new ArgumentNullException("value"); if (this.CipherReference != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherValue = (byte[]) value.Clone(); m_cachedXml = null; } } public XmlElement GetXml () { if (CacheValid) return m_cachedXml; XmlDocument document = new XmlDocument(); document.PreserveWhitespace = true; return GetXml(document); } internal XmlElement GetXml (XmlDocument document) { // Create the CipherData element XmlElement cipherDataElement = (XmlElement)document.CreateElement("CipherData", EncryptedXml.XmlEncNamespaceUrl); if (CipherValue != null) { XmlElement cipherValueElement = document.CreateElement("CipherValue", EncryptedXml.XmlEncNamespaceUrl); cipherValueElement.AppendChild(document.CreateTextNode(Convert.ToBase64String(CipherValue))); cipherDataElement.AppendChild(cipherValueElement); } else { // No CipherValue specified, see if there is a CipherReference if (CipherReference == null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); cipherDataElement.AppendChild(CipherReference.GetXml(document)); } return cipherDataElement; } public void LoadXml (XmlElement value) { if (value == null) throw new ArgumentNullException("value"); XmlNamespaceManager nsm = new XmlNamespaceManager(value.OwnerDocument.NameTable); nsm.AddNamespace("enc", EncryptedXml.XmlEncNamespaceUrl); XmlNode cipherValueNode = value.SelectSingleNode("enc:CipherValue", nsm); XmlNode cipherReferenceNode = value.SelectSingleNode("enc:CipherReference", nsm); if (cipherValueNode != null) { if (cipherReferenceNode != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherValue = Convert.FromBase64String(Utils.DiscardWhiteSpaces(cipherValueNode.InnerText)); } else if (cipherReferenceNode != null) { m_cipherReference = new CipherReference(); m_cipherReference.LoadXml((XmlElement) cipherReferenceNode); } else { throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); } // Save away the cached value m_cachedXml = value; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // CipherData.cs // // This object implements the CipherData element. // // 04/01/2001 // namespace System.Security.Cryptography.Xml { using System; using System.Collections; using System.Xml; [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class CipherData { private XmlElement m_cachedXml = null; private CipherReference m_cipherReference = null; private byte[] m_cipherValue = null; public CipherData () {} public CipherData (byte[] cipherValue) { this.CipherValue = cipherValue; } public CipherData (CipherReference cipherReference) { this.CipherReference = cipherReference; } private bool CacheValid { get { return (m_cachedXml != null); } } public CipherReference CipherReference { get { return m_cipherReference; } set { if (value == null) throw new ArgumentNullException("value"); if (this.CipherValue != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherReference = value; m_cachedXml = null; } } public byte[] CipherValue { get { return m_cipherValue; } set { if (value == null) throw new ArgumentNullException("value"); if (this.CipherReference != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherValue = (byte[]) value.Clone(); m_cachedXml = null; } } public XmlElement GetXml () { if (CacheValid) return m_cachedXml; XmlDocument document = new XmlDocument(); document.PreserveWhitespace = true; return GetXml(document); } internal XmlElement GetXml (XmlDocument document) { // Create the CipherData element XmlElement cipherDataElement = (XmlElement)document.CreateElement("CipherData", EncryptedXml.XmlEncNamespaceUrl); if (CipherValue != null) { XmlElement cipherValueElement = document.CreateElement("CipherValue", EncryptedXml.XmlEncNamespaceUrl); cipherValueElement.AppendChild(document.CreateTextNode(Convert.ToBase64String(CipherValue))); cipherDataElement.AppendChild(cipherValueElement); } else { // No CipherValue specified, see if there is a CipherReference if (CipherReference == null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); cipherDataElement.AppendChild(CipherReference.GetXml(document)); } return cipherDataElement; } public void LoadXml (XmlElement value) { if (value == null) throw new ArgumentNullException("value"); XmlNamespaceManager nsm = new XmlNamespaceManager(value.OwnerDocument.NameTable); nsm.AddNamespace("enc", EncryptedXml.XmlEncNamespaceUrl); XmlNode cipherValueNode = value.SelectSingleNode("enc:CipherValue", nsm); XmlNode cipherReferenceNode = value.SelectSingleNode("enc:CipherReference", nsm); if (cipherValueNode != null) { if (cipherReferenceNode != null) throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); m_cipherValue = Convert.FromBase64String(Utils.DiscardWhiteSpaces(cipherValueNode.InnerText)); } else if (cipherReferenceNode != null) { m_cipherReference = new CipherReference(); m_cipherReference.LoadXml((XmlElement) cipherReferenceNode); } else { throw new CryptographicException(SecurityResources.GetResourceString("Cryptography_Xml_CipherValueElementRequired")); } // Save away the cached value m_cachedXml = value; } } } // 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
- EngineSiteSapi.cs
- AnchoredBlock.cs
- TreePrinter.cs
- XsdDataContractExporter.cs
- OutOfMemoryException.cs
- GridEntry.cs
- CompoundFileReference.cs
- PngBitmapDecoder.cs
- TileBrush.cs
- TriggerActionCollection.cs
- PrintControllerWithStatusDialog.cs
- OleDbDataReader.cs
- GridViewPageEventArgs.cs
- TemplateColumn.cs
- XmlSchemaSimpleTypeUnion.cs
- DetailsView.cs
- TaskScheduler.cs
- MsmqHostedTransportManager.cs
- SiteMapNodeItemEventArgs.cs
- WsiProfilesElementCollection.cs
- ObjectContextServiceProvider.cs
- AddInSegmentDirectoryNotFoundException.cs
- FileDataSourceCache.cs
- XPathConvert.cs
- StatusBarDrawItemEvent.cs
- HelpProvider.cs
- InputReferenceExpression.cs
- GenericWebPart.cs
- SecurityUtils.cs
- PeerNameResolver.cs
- DrawItemEvent.cs
- EmbeddedMailObject.cs
- ExtractorMetadata.cs
- AssemblyBuilder.cs
- MediaElementAutomationPeer.cs
- TextSyndicationContent.cs
- XmlAutoDetectWriter.cs
- Cursors.cs
- XmlObjectSerializer.cs
- ObjectDataSourceDisposingEventArgs.cs
- ViewgenContext.cs
- ByteAnimation.cs
- COMException.cs
- ToolStripEditorManager.cs
- WmlPageAdapter.cs
- HtmlControlPersistable.cs
- MarginCollapsingState.cs
- ToolboxBitmapAttribute.cs
- DataServiceContext.cs
- DbReferenceCollection.cs
- ReachPageContentCollectionSerializerAsync.cs
- SystemEvents.cs
- ArglessEventHandlerProxy.cs
- FileSystemWatcher.cs
- DataContractAttribute.cs
- AppDomainUnloadedException.cs
- TextEffect.cs
- OleDbInfoMessageEvent.cs
- WhitespaceRuleReader.cs
- ByteStreamMessageUtility.cs
- SqlParameterCollection.cs
- DesignerDataView.cs
- TextEncodedRawTextWriter.cs
- Stackframe.cs
- EditorAttribute.cs
- ErrorWrapper.cs
- LocalizabilityAttribute.cs
- SqlMethods.cs
- PageBuildProvider.cs
- XmlElementList.cs
- RoleService.cs
- EntityExpressionVisitor.cs
- AttachedProperty.cs
- WebEncodingValidator.cs
- InvalidBodyAccessException.cs
- ApplicationManager.cs
- RightsManagementManager.cs
- ScriptHandlerFactory.cs
- XpsViewerException.cs
- SoapInteropTypes.cs
- BitmapDecoder.cs
- Header.cs
- CompilerState.cs
- ReturnType.cs
- NetNamedPipeSecurityElement.cs
- Convert.cs
- SecurityUtils.cs
- Select.cs
- SQLRoleProvider.cs
- AuthenticationSection.cs
- CatalogPartChrome.cs
- FillErrorEventArgs.cs
- WorkflowQueue.cs
- RadioButtonFlatAdapter.cs
- QilFactory.cs
- ProfileInfo.cs
- XamlWrappingReader.cs
- Control.cs
- GeneralTransform2DTo3DTo2D.cs
- ValueChangedEventManager.cs