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); } }