我厌倦了为我的客户购买 SSL 证书。我们平均每月花费数千美元。 有人可以告诉我如何启动我自己的证书颁发机构(不是自签名证书)吗?此 SSL 适用于 IIS。
看起来 IIS 可以发布自签名,OpenSSL 也可以做同样的事情,我不想要它,除非它可以像 Verisign 和其他大公司一样提供完整的 SSL。
最佳答案
如果您想推出自己的证书颁发机构(假设用于封闭的公司内部基础设施),您首先(令人惊讶的是)创建一个自签名证书,该证书将充当根 CA 证书。然后生成第一个子证书 - 中间 CA 证书。现在将根证书的私钥放在安全的地方 - 很可能您多年都不需要它。中间CA证书用于颁发最终用户(或其他子CA)证书。
如果您希望标准浏览器和其他客户端软件能够识别您的证书,您需要找到一种方法将您的公共(public)根证书添加到操作系统本身以及这些浏览器和客户端中的受信任根列表中(如果它们有自己的证书存储。这是一个复杂的过程,对于每个操作系统和每个浏览器来说都是不同的。它涉及重复审核、遵守严格的程序等。
同样,如果您创建仅供公司内部使用的证书,您可以制作软件安装程序(或仅编写自定义脚本或应用程序),将您的证书添加到每个用户计算机上的受信任根列表中。这可以在代码中完成,几乎没有问题,但用户必须 (a) 运行该脚本或程序,以及 (b) 确认添加证书。对于某些浏览器或其他客户端应用程序,该过程可能会更复杂。
创建 CA 的过程是一个相当复杂的主题。我建议您在继续之前阅读一些有关 PKI 的书籍。以下是我推荐的好书:
关于c# - 如何为 IIS 创建自己的证书颁发机构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729883/