前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >x509数字证书导入-然后删除自身

x509数字证书导入-然后删除自身

作者头像
FreeTimeWorker
发布2020-08-31 15:13:56
7770
发布2020-08-31 15:13:56
举报
文章被收录于专栏:C#开发点点滴滴

这种程序的使用场景,需要给客户一个证书,但不能把证书直接给他让他安装,程序中需要用到给客户的私钥,但又不允许客户将这个证书再去授权给其它人。

重点并不是代码,是如何对用户隐藏需要添加的资源 ,以文本为例

1.将文件添加到资源中,直接粘贴就可以

2.打开解决方案,

修改文件属性 生成操作为嵌入的资源。如果config没有什么特殊需要配置的,那么只需要给客户一个exe就可以了

下边是代码

代码语言:javascript
复制
        static void Main(string[] args)
        {
            Console.WriteLine("正在执行数字证书写入");
            try
            {
                X509Certificate2 certificateClient = new X509Certificate2(global::X509Build.Properties.Resources.Client, "123",X509KeyStorageFlags.PersistKeySet);
         X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
                store.Open(OpenFlags.ReadWrite);
                store.Remove(certificateClient);
                store.Add(certificateClient);
                store.Close();
          string delfilepath = AppDomain.CurrentDomain.BaseDirectory + "del.bat";
                FileStream fs = new FileStream(delfilepath, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs);
                sw.WriteLine("@echo off ");
                sw.WriteLine("ping -n 1 127.1>nul");
                sw.WriteLine("del X509Build.exe");
                sw.WriteLine("del %0");
                sw.Close(); sw.Dispose();
                fs.Close(); fs.Dispose();
                Thread t = new Thread(() =>
                {
                    Process proc = new Process();
                    proc.StartInfo.FileName = delfilepath;
                    proc.StartInfo.CreateNoWindow = false;
                    proc.StartInfo.UseShellExecute = false;
                    proc.Start();
                });
                t.Start();
            }
            catch
            {
                Console.WriteLine("数字证书写入失败");
                Console.ReadKey();
            }
       }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档