说说证书——如何获取证书


我曾经看到过很多的朋友,搭建PoC环境甚至是生产环境时,为免费云主机域名了方便申请证书,而在AD CS的服务器上安装基于IIS的证书申请站点。 虽然现在的IIS比以前的安全多了,可是在AD服务器上安装IIS。。。 首先来说说怎么获取证书吧。 世界发展到今天,不仅是Windows,苹果的Mac和iOS,安卓,都是一样要使用证书的。每个系统,其实都会使用一个安全的方式来保存证书。前文我们说过,证书就是公钥私钥,因此,苹果使用KeyChain、安卓使用KeyStore来保存公钥私钥。 如果您曾经申请过证书,就会记得,首先要生成一个证书请求(CSR),然后把这个证书请求提交给CA,CA经过批准后生成一张证书,然后可以把证书导出为CER文件,在生成证书请求的设备上完成证书申请。 其实在这背后,过程稍微复杂一点。 首先需要生成证书请求的客户端,其实是生成了一公钥私钥(还记得我们说的?公私钥是唯一的、成对匹配的),私钥会被立即保存到严格保护的Key Store存储中,通常除了生成的证书,不允许其他方式访问私钥。 紧接着,客户端将公钥,以及需要的证书信息生成一个CSR文件。请记住,私钥永远不会用于申请证书。 CA获得CSR请求后,可以按照策略,经过管理员批准或者自动允许生成一张证书。这张证书使用CA的证书进行签名,同时至少会包含我们前文说的证书三要素,CA的信息、证书有效期(往往根据证书模板确定)以及颁发给谁(即我们提交CSR时,提供的Subject申请信息,例如服务器的FQDN)。 这个证书在客户端导入后,客户端就能够使用私钥了。 让我们回到最前面的问题,申请证书是否一定要使用基于IIS的certsvc站点呢? 当然不用。 我们可以使用certreq.exe命令行来很好的解决这个问题。 这个工具可以支持命令行方式申请和导入证书。最关键的,这个工具包含在Windows操作系统中。具体命令行可以参考: http://technet.microsoft.com/library/cc725793.aspx 还有一点特别棒的,可以把一组参数作为一个inf文件,提供给命令行。这样,对于相同要求的证书请求,就不再需要每次输入冗长的命令行参数了。 我基于该命令行,使用脚本写了一个证书生成CSR和导入CER、然后导出PFX的工具。关于这些证书文件的格式,以后再做介绍。 这个工具的第一步,可以生成一个CSR证书请求。 然后,可以把这个证书请求,发给中间管理员进行签名。 签过名的证书请求,发送给Apple用于申请APNS证书。 收到证书后,就可以导入,并且可以将公钥私钥一起导出为PFX文件。 当然,也可以直接提交CSR到自建CA进行证书的颁发。

相关推荐: linux中shell编程指的是什么

这篇文章主要介绍“linux中shell编程指的是什么”,在日常操作中,相信很多人在linux中shell编程指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中shell编程指的是什么”的疑惑有所帮助!接下来,…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 4天前
下一篇 4天前