博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
x509数字证书导入-然后删除自身
阅读量:5285 次
发布时间:2019-06-14

本文共 1769 字,大约阅读时间需要 5 分钟。

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

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

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

2.打开解决方案,

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

 

 下边是代码

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

 

转载于:https://www.cnblogs.com/zzfstudy/p/6244521.html

你可能感兴趣的文章
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
jQuery之end()和pushStack()
查看>>
Bootstrap--响应式导航条布局
查看>>
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>
HDU 1021 一道水题
查看>>
The operation couldn’t be completed. (LaunchServicesError error 0.)
查看>>
php每天一题:strlen()与mb_strlen()的作用分别是什么
查看>>
工作中收集JSCRIPT代码之(下拉框篇)
查看>>
《转载》POI导出excel日期格式
查看>>
code异常处理
查看>>
git - 搭建最简单的git server
查看>>
会话控制
查看>>
推荐一款UI设计软件Balsamiq Mockups
查看>>
Linux crontab 命令格式与详细例子
查看>>
百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
查看>>
游标使用
查看>>
LLBL Gen Pro 设计器使用指南
查看>>
SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP
查看>>