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
- DiffuseMaterial.cs
- MimeTextImporter.cs
- ServiceNameCollection.cs
- EllipseGeometry.cs
- OwnerDrawPropertyBag.cs
- DefaultTraceListener.cs
- FrameSecurityDescriptor.cs
- HtmlEmptyTagControlBuilder.cs
- ImageFormat.cs
- Part.cs
- BuildManagerHost.cs
- WindowsIPAddress.cs
- FileClassifier.cs
- RadioButtonStandardAdapter.cs
- MemberHolder.cs
- SoapHttpTransportImporter.cs
- XmlDataDocument.cs
- PixelFormatConverter.cs
- CapabilitiesState.cs
- UpdateProgress.cs
- SqlStream.cs
- Common.cs
- UpdatePanelTriggerCollection.cs
- MimeWriter.cs
- WebPartUserCapability.cs
- CodeRegionDirective.cs
- WebPartVerbCollection.cs
- StdValidatorsAndConverters.cs
- IntegrationExceptionEventArgs.cs
- Transform.cs
- sqlinternaltransaction.cs
- RegistryPermission.cs
- X509Certificate2Collection.cs
- SQLByte.cs
- ObjectConverter.cs
- GlyphInfoList.cs
- StateInitialization.cs
- XamlFilter.cs
- EventLogWatcher.cs
- CapabilitiesSection.cs
- DbConnectionPoolOptions.cs
- XmlEncoding.cs
- StatusBarPanelClickEvent.cs
- EmptyImpersonationContext.cs
- ServiceControllerDesigner.cs
- SiteMembershipCondition.cs
- OleDbPropertySetGuid.cs
- Logging.cs
- DataGridViewDataErrorEventArgs.cs
- MeshGeometry3D.cs
- OleDbPermission.cs
- DataRecordObjectView.cs
- SortDescription.cs
- PermissionToken.cs
- DataGridItem.cs
- StackSpiller.cs
- _ListenerResponseStream.cs
- MultiByteCodec.cs
- RSAOAEPKeyExchangeFormatter.cs
- PagePropertiesChangingEventArgs.cs
- TimeStampChecker.cs
- DefaultSerializationProviderAttribute.cs
- FocusChangedEventArgs.cs
- SqlClientWrapperSmiStreamChars.cs
- TracePayload.cs
- MarkupProperty.cs
- StringResourceManager.cs
- CaseInsensitiveComparer.cs
- PropertyMapper.cs
- GZipStream.cs
- Pen.cs
- CustomAttributeSerializer.cs
- TransformerInfoCollection.cs
- ListSortDescription.cs
- VirtualPathUtility.cs
- XmlSchemaProviderAttribute.cs
- MaskedTextBox.cs
- HttpChannelHelper.cs
- XmlReflectionImporter.cs
- Scanner.cs
- DispatchWrapper.cs
- BaseServiceProvider.cs
- Attributes.cs
- BigInt.cs
- ReadOnlyDictionary.cs
- HtmlInputCheckBox.cs
- SuspendDesigner.cs
- StatusBarDesigner.cs
- LoginAutoFormat.cs
- XmlSchemaChoice.cs
- StatusBar.cs
- SizeConverter.cs
- SqlAliaser.cs
- Attribute.cs
- UnsafeNativeMethods.cs
- XmlILCommand.cs
- ConfigXmlElement.cs
- X509Chain.cs
- WorkflowElementDialogWindow.xaml.cs
- XPathEmptyIterator.cs