详解.NET操作数字证书的新手教程.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
详解.NET操作数字证书的新手教程

本文详细和大家讲下.NET中如何操作数字证书,包括如何生成证书、编程操作证书、创建发行者证书等等步骤。.NET为我们提供了操作数字证书的两个主要的类,分为为:System.Security.Cryptography.X509Certificates.X509Certificate2类,?每个这个类的实例可以表示一个证书;System.Security.Cryptography.X509Certificates.X509Store类,可以对保存在计算机安全区域内的证书进行add/remove/get操作。另外我们可以使用System.Security.Cryptography.X509Certificates.X509Certificate2UI类来显示证书消息的对话框,它就是在IE中的证书查看器的.NE实现。生成证书在介绍以上类的使用方法之前,我们先要拥有一个数字证书,获取数字证书有三种方法,一是从CA机构申请,二是自己搭建服务器发布证书,三是使用makecert.exe来生成一个证书文件。这里我们使用makecert.exe来生成一个证书文件,用来测试。启动VS2010的命令行,输入对应参数,生成名为TestCertificates的证书文件。如图6-28所示。图6-28 生成证书makecert.exe的参数读者可以查看帮助,这里只解释图6-28中的参数。makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyServerCert -sky exchange –pe参数说明:-sr CurrentUser:指定主题的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine-ss MyTestContainer:指定主题的证书存储名称,输出证书即存储在那里。-n CN=TestCert:指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,CN=myName。-sky exchange:指定颁发者的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。-pe:将所生成的私钥标记为可导出。这样可将私钥包括在证书中。生成的密钥文件被保存在了我们指定的MyTestContainer中,但到哪去查看我们的证书呢?Windows没有给我们准备好直接的管理证书的入口,但我们可以在MMC控制台自行添加。?MMC,打开一个空的MMC控制台。?运行?开始??确定?关闭??选我的用户账户??添加??选证书??添加按钮??添加/删除管理单元?在控制台菜单,文件??确定?关闭??选计算机账户??添加??选证书??添加按钮??添加/删除管理单元?在控制台菜单,文件?如图6-29,我们可以查看两个账户的证书管理,在我的账户中可以看到MyTestContainer下的证书TestCert。图6-29 在MMC控制台查看和管理证书当然我们也可以将证书文件保存为文件,如图6-30所示。图6-30 将证书保存为文件打开E盘,可以看到生成的证书文件。如图6-31所示。图6-31 生成的证书文件将证书保存为文件时,我们有三种选择:带有私钥的证书由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。二进制编码的证书证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。Base64编码的证书证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。右键单击本地的证书文件,我们可以看到安装选项,可以把该证书文件安装到证书存储区。也可在MMC的证书管理台上执行导出任务将存储区的证书导出为文件。这里就不再演示了,读者可以自行实践。编程操作证书我们可以通过编程的方式操作操作本地的证书文件和在存储区中的证书。我们以刚才保存在E盘的test.cer文件为例,讲解如何读取本地的证书文件,并将它添加到存储区中。先看代码清单6-17。代码清单 6-17 操作本地证书文件class?OperCert ?{ ?internal?static?byte[]?ReadFile(string?fileName) ?{ ?FileStream?f?=?new?FileStream(fileName,?FileMode.Open,?FileAccess.Read); ?int?size?=?(int)f.Length; ?byte[]?data?=?new?byte[size]; ?size?

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档