private void PasteMI_Click(object sender, EventArgs e) { try { string xml = (string)ClipboardHack.GetData(DataFormats.Text); if (String.IsNullOrEmpty(xml)) { return; } // deserialize the data. CertificateIdentifier id = null; using (XmlTextReader reader = new XmlTextReader(new StringReader(xml))) { DataContractSerializer serializer = new DataContractSerializer(typeof(CertificateIdentifier)); id = (CertificateIdentifier)serializer.ReadObject(reader, false); } if (id.Certificate != null) { using (ICertificateStore store = m_storeId.OpenStore()) { store.Add(id.Certificate); } AddItem(id.Certificate); } } catch (Exception exception) { GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception); } }
private void CopyMI_Click(object sender, EventArgs e) { try { X509Certificate2 certificate = SelectedTag as X509Certificate2; if (certificate == null) { return; } StringBuilder builder = new StringBuilder(); XmlWriter writer = XmlWriter.Create(builder); try { DataContractSerializer serializer = new DataContractSerializer(typeof(CertificateIdentifier)); CertificateIdentifier id = new CertificateIdentifier(); id.Certificate = certificate; serializer.WriteObject(writer, id); } finally { writer.Close(); } ClipboardHack.SetData(DataFormats.Text, builder.ToString()); } catch (Exception exception) { GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception); } }
private void CopyMI_Click(object sender, EventArgs e) { try { TreeNode node = NodesTV.SelectedNode; // check if valid store selected. ContainerInfo info = node.Tag as ContainerInfo; if (info == null) { return; } if (info.Type != ContainerInfoType.Store || node.Parent == null) { return; } CertificateStoreIdentifier store = info.GetCertificateStore(); StringBuilder builder = new StringBuilder(); XmlWriter writer = XmlWriter.Create(builder); try { DataContractSerializer serializer = new DataContractSerializer(typeof(CertificateStoreIdentifier)); serializer.WriteObject(writer, store); } finally { writer.Close(); } ClipboardHack.SetData(DataFormats.Text, builder.ToString()); } catch (Exception exception) { GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception); } }
private void PasteMI_Click(object sender, EventArgs e) { try { string xml = (string)ClipboardHack.GetData(DataFormats.Text); if (String.IsNullOrEmpty(xml)) { return; } // check if in the favorites list. ContainerInfo info = NodesTV.SelectedNode.Tag as ContainerInfo; // check if pasting into a store. if (info.Type == ContainerInfoType.Store) { CertificateIdentifier id = null; using (XmlTextReader reader = new XmlTextReader(new StringReader(xml))) { DataContractSerializer serializer = new DataContractSerializer(typeof(CertificateIdentifier)); id = (CertificateIdentifier)serializer.ReadObject(reader, false); } if (id.Certificate != null) { CertificateStoreIdentifier storeId = info.GetCertificateStore(); using (ICertificateStore store = storeId.OpenStore()) { store.Add(id.Certificate); } } SelectNode(); return; } } catch (Exception exception) { GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception); } }