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
- XmlAttribute.cs
- ObjectDataSourceFilteringEventArgs.cs
- IndependentAnimationStorage.cs
- ErrorStyle.cs
- StoreAnnotationsMap.cs
- SourceFileBuildProvider.cs
- ButtonField.cs
- PassportIdentity.cs
- RestHandler.cs
- DesignerOptions.cs
- UniqueIdentifierService.cs
- TargetException.cs
- EdmFunctions.cs
- Form.cs
- DefaultTraceListener.cs
- Rect3DConverter.cs
- ByteAnimationBase.cs
- WebConfigurationHost.cs
- SourceItem.cs
- CategoryAttribute.cs
- Subtree.cs
- DashStyle.cs
- EtwTrace.cs
- FederatedMessageSecurityOverHttp.cs
- HtmlDocument.cs
- RoleManagerEventArgs.cs
- XmlC14NWriter.cs
- CommandEventArgs.cs
- FixedSOMContainer.cs
- ExtendedPropertyCollection.cs
- ImageBrush.cs
- SamlConditions.cs
- RootBrowserWindowAutomationPeer.cs
- SelfSignedCertificate.cs
- GridViewEditEventArgs.cs
- FileAuthorizationModule.cs
- ActivitySurrogateSelector.cs
- _RequestCacheProtocol.cs
- ObjectViewQueryResultData.cs
- EventLogPermissionEntryCollection.cs
- WebPartTransformer.cs
- FileDialog.cs
- XamlValidatingReader.cs
- SimpleType.cs
- TableCell.cs
- InputDevice.cs
- PageAsyncTaskManager.cs
- SimpleRecyclingCache.cs
- ResourcePool.cs
- DataGridPageChangedEventArgs.cs
- ThreadInterruptedException.cs
- CodeGenHelper.cs
- FixedSOMTableCell.cs
- Tokenizer.cs
- Content.cs
- XpsPackagingPolicy.cs
- PasswordTextNavigator.cs
- ViewKeyConstraint.cs
- XPathNode.cs
- RayMeshGeometry3DHitTestResult.cs
- ToolStripSystemRenderer.cs
- IPHostEntry.cs
- Odbc32.cs
- SoapIgnoreAttribute.cs
- ColorMap.cs
- TableLayout.cs
- DescriptionCreator.cs
- PropertyDescriptor.cs
- TypographyProperties.cs
- OdbcInfoMessageEvent.cs
- CodeTryCatchFinallyStatement.cs
- GridViewHeaderRowPresenter.cs
- Rijndael.cs
- sitestring.cs
- ExtendedPropertyCollection.cs
- BrowserCapabilitiesCompiler.cs
- XsltLibrary.cs
- BasicExpandProvider.cs
- BlurBitmapEffect.cs
- TriggerActionCollection.cs
- ServiceObjectContainer.cs
- PropertyInformationCollection.cs
- TdsParserSafeHandles.cs
- HelloOperation11AsyncResult.cs
- Freezable.cs
- FileIOPermission.cs
- Highlights.cs
- ServicePointManagerElement.cs
- SqlInternalConnection.cs
- ScriptBehaviorDescriptor.cs
- CfgArc.cs
- Menu.cs
- AuthorizationRule.cs
- DataStreamFromComStream.cs
- BamlTreeUpdater.cs
- SafeRightsManagementSessionHandle.cs
- ObjectItemLoadingSessionData.cs
- AttachedAnnotation.cs
- SignatureHelper.cs
- ErrorInfoXmlDocument.cs