X.509证书生成

创建数字证书

用户对数字证书的认可决定于对证书颁发机构的信任,所以证书颁发机构决定了数字证书的可用范围。由于官方认可的数字证书颁发机构,比如VeriSign、Thawte(OpenSSL),具有普遍的信任度,在大部分情况下是理想的选择。但是对于学习研究或者开发测试,我们没有必要去购买这些商用证书,采用利用一些工具以手工的方式创建证书。

由于WCF的安全机制广泛使用到数字证实,我们很有必要学会手工创建数字证书。微软为我们提供了一个强大的创建数字证书的工具MakeCert.exe,我们可以借助这个工具采用命令行的方式创建我们需要的数字证书。MakeCert.exe具有很多命令行开关,限于篇幅的问题不可能对它们一一介绍,在这里仅仅对几个常用的开关作一下简单的介绍,有兴趣的读者可以查阅MSDN在线文档了解MakeCert.exe所有命令行开关的含义,对应的地址为http://msdn.microsoft.com/zh-cn/library/bfsktky3(v=vs.80).aspx

  • -n x509name:指定主题的证书名称。最简单的方法是在双引号中指定此名称,并加上前缀CN=,例如,"CN=My Name";
  • -pe:将所生成的私钥标记为可导出,这样可将私钥包括在证书中;
  • -sr location:数字证书的存储位置,具有两个可选值:CurrentUser(和LocalMachine。前者基于当前登录用户,后者基于本机;
  • -ss store:数字证书的存储区;
  • -sky keytype:指定主题的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入1表示交换密钥,传入2表示签名密钥。

比如我通过下面的命令会创建一个主题名称为www.artech.com的数字证书,该证书具有交换密钥类型,并且包含私钥。

   1: MakeCert -n "CN=www.artech.com" -pe -sr LocalMachine -ss My -sky exchange一旦上面的命令成功执行,生成的证书会自动保存到基于本机的个人(Personal)存储区中。你可以通过MMC的证书管理单元(Snap-in)查看该证书, 关于如何通过MMC查看证书,可以参考这个地址:http://msdn.microsoft.com/zh-cn/library/ms788967.aspx。下图是证书MMC管理单元的截图,你可以看到我们创建的数字证书已经被存储到了我们在命令行中指定的存储区,颁发机构被默认设定为Root Agency。
时间: 2024-08-01 22:35:06

X.509证书生成的相关文章

基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good

上周帮一个童鞋做一个数字认证的实验,要求是编程实现一个基于X.509证书认证的过程,唉!可怜我那点薄弱的计算机网络安全的知识啊!只得恶补一下了. 首先来看看什么是X.509.所谓X.509其实是一种非常通用的证书,什么是证书?唉!这么说吧!当两个人需要进行远程通信而又不想让第三个人知道时就必须建立一种安全措施,因为看不到对方的脸,又不能通过电话直接询问对方,就得想点别的办法,比如我设计一个密码,让后发短信告诉你,这样当我们在网上交流之前就可以对一下密码,暗号之类的.确认后就可以证明你的身份了.这

WCF X.509证书双向认证小结

最近在学习WCF X.509证书验证,想实现使用证书实现服务端和客户端的双向认证,实现原理是利用了数字证书包含的一对非对称密钥来实现数字签名及加密.所谓非对称密钥是采用两个密钥将加密和解密能力分开:一个公钥和一个私钥,公钥可解密私钥加密的信息,私钥也可以解密公钥加密的信息,前者用于数字签名后者用于信息加密,但从一个密钥是不可能分析出另一个密钥.利用非对称密钥的特点,我们将私钥签名的证书安装在服务端,把公钥签名的证书放在客户端,就可以实现使用证书实现服务端和客户端的双向认证.具体步骤如下: [1]

使用OpenSSL工具制作X.509证书的方法及其注意事项总结

如何使用OpenSSL工具生成根证书与应用证书 本文由CSDN-蚍蜉撼青松 [主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 一.步骤简记 // 生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认) openssl req -new -x509 -days 3650 -keyout CARoot1024.key -out CARoot1024.crt // 为顶级CA的私钥文件去除保护口令 openssl rsa -in C

X509 证书生成

X509证书介绍 X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密.今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的

HTTPS证书生成原理和部署细节

今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白用户以为是京东有意放置的,细心的用户会发现,这个 iframe 一层嵌一层的恶心广告很明显是电信/中间人通过 DNS

x.509证书

X.509是一种非常通用的证书格式.所有的证书都符合ITU-T X.509国际标准:因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用.在一份证书中,必须证明公钥及其所有者的姓名是一致的.对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息.X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式) 所有的X.509证书包含以下数据: 1.X.509版本号:指

[svc]HTTPS证书生成原理和部署细节

参考: http://blog.csdn.net/iiiiher/article/details/72356901 今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白

java PKCS12 证书生成

引入依赖 <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.49</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <arti

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端