public void CreateXMLFile(byte[] key) //key - klucz sesyjny { File.Delete(MainWindow.OutputFile); XDocument xml = new XDocument( new XElement("EncryptedFileHeader", new XElement("Algorithm", "AES"), new XElement("KeySize", KeySize.ToString()), new XElement("BlockSize", "128"), new XElement("CipherMode", Mode))); if (Mode == "OFB" || Mode == "CFB") { xml.Root.Add(new XElement("SubblockSize", SubblockSize.ToString())); } if (Mode != "ECB") { CreateInitialVector(); xml.Root.Add(new XElement("IV", Convert.ToBase64String(InitialVector))); } xml.Root.Add(new XElement("ApprovedUsers")); var usr = xml.Root.Element("ApprovedUsers"); foreach (var u in Users) { var encodedKey = EncryptSessionKey(key, u); //zaszyfrowany klucz sesyjny kluczem publicznym odbiorcy usr.Add(new XElement("User", new XElement("Name", u), new XElement("SessionKey", Convert.ToBase64String(encodedKey)))); } xml.Save(MainWindow.OutputFile); }
/// <include file='doc\HttpClientCertificate.uex' path='docs/doc[@for="HttpClientCertificate.Get"]/*' /> /// <devdoc> /// <para>Allows access to individual items in the collection by name.</para> /// </devdoc> public override String Get(String field) { if (field == null) { return(String.Empty); } field = field.ToLower(CultureInfo.InvariantCulture); switch (field) { case "cookie": return(Cookie); case "flags": return(Flags.ToString("G")); case "keysize": return(KeySize.ToString("G")); case "secretkeysize": return(SecretKeySize.ToString()); case "issuer": return(Issuer); case "serverissuer": return(ServerIssuer); case "subject": return(Subject); case "serversubject": return(ServerSubject); case "serialnumber": return(SerialNumber); case "certificate": return(System.Text.Encoding.Default.GetString(Certificate)); case "binaryissuer": return(System.Text.Encoding.Default.GetString(BinaryIssuer)); case "publickey": return(System.Text.Encoding.Default.GetString(PublicKey)); case "encoding": return(CertEncoding.ToString("G")); case "validfrom": return(HttpUtility.FormatHttpDateTime(ValidFrom)); case "validuntil": return(HttpUtility.FormatHttpDateTime(ValidUntil)); } if (field.StartsWith("issuer")) { return(ExtractString(Issuer, field.Substring(6))); } if (field.StartsWith("subject")) { if (field.Equals("subjectemail")) { return(ExtractString(Subject, "e")); } else { return(ExtractString(Subject, field.Substring(7))); } } if (field.StartsWith("serversubject")) { return(ExtractString(ServerSubject, field.Substring(13))); } if (field.StartsWith("serverissuer")) { return(ExtractString(ServerIssuer, field.Substring(12))); } return(String.Empty); }