我希望这是正确的stackexchange -如果不是,请告知。
至于实际问题:我们开发了一个系统,该系统以各种不同的方式(RSA、客户端证书身份验证和数字签名)大量使用非对称加密技术,在我们推荐的配置中使用8种证书--4种SSL证书、1种签名证书(用于SAML)、2种客户端身份验证证书和一种RSA证书(用于保护对称密钥)。在我们的开发和测试环境中,我们使用了使用makecert.exe实用程序生成的自签名证书,但这完全不适合于生产。
我们想知道的是:您能从证书颁发机构获得和/或购买这类证书吗?任何旧证书都行吗?到目前为止,我们只发现SSL证书是出售的,并且在不同厂商的支持下有been..less比有帮助。
我们还在考虑在站点上设置一个CA (带有Active Directory证书服务),以减少必须购买的证书数量,这将导致同样的情况:您可以从上游CA购买/获取适合作为本地CA的根的证书吗?它基本上是一个SSL证书吗?
发布于 2014-04-10 13:40:33
证书基本上是身份和公钥之间的绑定,但是有一些细节:
如果要生成自己的证书,则需要操作自己的证书颁发机构。有很好的开源软件(例如EJBCA)。然而,这一行动方案涉及两个主要的费用领域:
使用来自“商业CA”的证书解决了第二个问题,但代价很大。特别是,如果您想拥有自己的CA,则必须将其标记为"CA证书“(这是在基本约束证书扩展中编写的)。商业CA可能会接受向您颁发由他们自己签署的CA证书,但这将是昂贵的(至少要考虑数千美元);他们将要求您在严格的规则(包括保险、发布详细的和具有法律约束力的证书实践声明等)中操作您自己的CA。
如果您只想在您控制的系统上为自己的用途生成证书,那么依赖商业CA就没有什么意义了:简单地拥有自己的根并将其安装到所有相关的机器上要容易得多。
您手头的问题也很可能实际上不需要真正的“证书”。证书是解决密钥分配问题的一种方法:证书的要点是,通过查看和验证证书,系统可以动态地获得公钥知识和对密钥所有者身份的信任。如果在您的系统中总共有8个密钥,并且您可以控制所有客户端和服务器,那么很可能您实际上并不需要证书;您只是想要非对称密钥对。公钥是预先发布的(通过配置推送或在相关软件中硬编码)。
为了方便和廉价地与现有协议(例如SSL)兼容,可以方便地将公钥编码成类似于“证书”的东西;传统上,这些证书将是“自签名”,因为证书格式中有一个签名的非可选字段。
如果自我签署的证书映射到你手头的问题,那就没有本质上的问题。如果您的情况没有密钥分发问题,则不需要调用PKI。
发布于 2014-04-10 13:46:29
保持简短和简单。
是否需要外部信任?如果您希望保护的只是内部使用,则不需要像GoDaddy或Symantec这样的外部CA。
使用部署服务,您可以为受影响的节点提供用于创建“网络”信任的CA证书。
https://security.stackexchange.com/questions/55290
复制相似问题