internal static CT_Encryption Parse(XmlNode node, XmlNamespaceManager nameSpaceManager) { if (node == null) { return(null); } CT_Encryption encryption = new CT_Encryption(); foreach (XmlNode childNode in node.ChildNodes) { if (childNode.LocalName == "keyData") { encryption.keyData = CT_KeyData.Parse(childNode, nameSpaceManager); } else if (childNode.LocalName == "dataIntegrity") { encryption.dataIntegrity = CT_DataIntegrity.Parse(childNode, nameSpaceManager); } else if (childNode.LocalName == "keyEncryptors") { encryption.keyEncryptorsField = CT_KeyEncryptors.Parse(childNode, nameSpaceManager); } } return(encryption); }
internal static CT_KeyData Parse(XmlNode node, XmlNamespaceManager nameSpaceManager) { if (node == null) { return(null); } CT_KeyData ctObj = new CT_KeyData(); ctObj.saltSize = XmlHelper.ReadUInt(node.Attributes["saltSize"]); ctObj.blockSize = XmlHelper.ReadUInt(node.Attributes["blockSize"]); ctObj.keyBits = XmlHelper.ReadUInt(node.Attributes["keyBits"]); ctObj.hashSize = XmlHelper.ReadUInt(node.Attributes["hashSize"]); ctObj.cipherAlgorithm = XmlHelper.ReadEnum <ST_CipherAlgorithm>(node.Attributes["cipherAlgorithm"]); ctObj.cipherChaining = XmlHelper.ReadEnum <ST_CipherChaining>(node.Attributes["cipherChaining"]); ctObj.hashAlgorithm = XmlHelper.ReadEnum <ST_HashAlgorithm>(node.Attributes["hashAlgorithm"]); if (node.Attributes["saltValue"] != null) { ctObj.saltValue = Convert.FromBase64String(node.Attributes["saltValue"].Value); } return(ctObj); }