Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / ManagedLibraries / Security / System / Security / Cryptography / Xml / CipherData.cs / 5 / 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
- Interfaces.cs
- Int32CAMarshaler.cs
- OracleTimeSpan.cs
- XmlReflectionMember.cs
- ValidationEventArgs.cs
- SchemaType.cs
- SwitchLevelAttribute.cs
- Stopwatch.cs
- HandleRef.cs
- ScriptResourceAttribute.cs
- PolyQuadraticBezierSegment.cs
- EdmProperty.cs
- _emptywebproxy.cs
- TextBox.cs
- PersonalizationStateInfo.cs
- HttpConfigurationContext.cs
- DesignerActionMethodItem.cs
- ToolStripRenderer.cs
- WebRequest.cs
- CallbackValidator.cs
- TrustLevel.cs
- Dispatcher.cs
- SemanticAnalyzer.cs
- GeneralTransform3DGroup.cs
- IndentedWriter.cs
- WriteTimeStream.cs
- GiveFeedbackEvent.cs
- ToolStripItem.cs
- DiscreteKeyFrames.cs
- TableProviderWrapper.cs
- WebReferencesBuildProvider.cs
- GridViewRowCollection.cs
- ReverseQueryOperator.cs
- ConfigXmlComment.cs
- SafeSecurityHandles.cs
- ToolStripEditorManager.cs
- SBCSCodePageEncoding.cs
- _SafeNetHandles.cs
- Sorting.cs
- HtmlAnchor.cs
- Compiler.cs
- SecureUICommand.cs
- Convert.cs
- StdRegProviderWrapper.cs
- FontNamesConverter.cs
- DependencyPropertyAttribute.cs
- Transaction.cs
- _FtpDataStream.cs
- OrCondition.cs
- DataStreams.cs
- PageStatePersister.cs
- wgx_sdk_version.cs
- wgx_commands.cs
- HttpInputStream.cs
- SemanticResultValue.cs
- UnhandledExceptionEventArgs.cs
- StreamResourceInfo.cs
- DBPropSet.cs
- WebEncodingValidator.cs
- NetworkStream.cs
- InputScopeAttribute.cs
- ErrorStyle.cs
- ListViewPagedDataSource.cs
- RecognizerInfo.cs
- DataSourceControlBuilder.cs
- CalloutQueueItem.cs
- DataGridTable.cs
- FileDialogCustomPlace.cs
- MultiByteCodec.cs
- WebConfigurationManager.cs
- PolicyLevel.cs
- PresentationSource.cs
- DataPagerFieldItem.cs
- XmlSchemaNotation.cs
- MetadataWorkspace.cs
- ExecutionPropertyManager.cs
- SmtpFailedRecipientException.cs
- UserMapPath.cs
- ToolStripComboBox.cs
- JoinGraph.cs
- UnsafeNativeMethods.cs
- MetadataPropertyvalue.cs
- ArgIterator.cs
- WindowInteractionStateTracker.cs
- TextRangeSerialization.cs
- FormClosedEvent.cs
- QueryHandler.cs
- FunctionNode.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- PlaceHolder.cs
- SimpleWebHandlerParser.cs
- VectorCollection.cs
- WebRequest.cs
- ImageDesigner.cs
- GlyphCache.cs
- CollectionChange.cs
- DataContractSerializer.cs
- LabelEditEvent.cs
- FindCriteriaElement.cs
- CodePropertyReferenceExpression.cs