内部使用的SSL签名证书

内部使用的SSL签名证书,ssl,certificate,trusted,Ssl,Certificate,Trusted,我有一个分布式应用程序,它由许多通过TCP(例如examle JMS)和HTTP进行通信的组件组成。所有组件都在具有内部IP地址的内部硬件上运行,公众无法访问 我想使用SSL使通信安全。从知名的证书颁发机构购买签名证书有意义吗?还是我应该只使用自签名证书 我对可信证书优势的理解是,管理局是一个公众可以信任的实体——但这只是当公众需要确保特定领域的实体是他们所说的实体时的问题 因此,在我的例子中,如果同一个组织负责通信两端的组件,以及两者之间的一切,那么一个公共信任的机构将是毫无意义的。换句话说,

我有一个分布式应用程序,它由许多通过TCP(例如examle JMS)和HTTP进行通信的组件组成。所有组件都在具有内部IP地址的内部硬件上运行,公众无法访问

我想使用SSL使通信安全。从知名的证书颁发机构购买签名证书有意义吗?还是我应该只使用自签名证书

我对可信证书优势的理解是,管理局是一个公众可以信任的实体——但这只是当公众需要确保特定领域的实体是他们所说的实体时的问题


因此,在我的例子中,如果同一个组织负责通信两端的组件,以及两者之间的一切,那么一个公共信任的机构将是毫无意义的。换句话说,如果我为自己的服务器生成并签署一个证书,我知道它是可信的。组织外部的任何人都不会被要求信任此证书。这就是我的理由——我是对的,还是使用来自已知权威机构的证书有潜在的优势

我认为这相当安全,除非你认为一个忍者渗透者会把你的服务器换到你身上


第三方的存在使得仅仅“建立并生成”一个新证书变得更加困难。有人可以使用相同的细节在新机器上重新创建一个自签名证书,它不会是相同的证书,你也必须为它添加一个例外,但是您的用户可能不知道其中的区别。

对于一个封闭的社区项目,您没有必要使用外部公共CA。在许多大型组织中,他们运行内部PKI,为类似这样的内部项目颁发证书。使用PKI的一个优点是,您可以基于单个安全分发的根证书/信任锚点在各个组件之间建立信任关系


但是,如果项目允许内部用户通过他们的Web浏览器安全地连接到内部服务,那么你可能想考虑使用一个公共CA颁发的证书。另一种选择是确保每个可能需要连接到你的服务的浏览器信任你的根证书;这是为了防止出现浏览器警告消息。

只要您的系统在您的组内运行,并且没有扩展它的计划(并且计划确实发生了变化,请记住),就可以设置您自己的简单PKI基础架构


如果最终扩展到组织之外,则只需将根证书分发给要通信的各方。这实际上为您的合作伙伴提供了一个细粒度的控制,即他们希望您对公共CA基础设施的信任程度。

这不是我对可信机构的理解。但我是这方面的新手!我认为这个想法是,拥有一个可信的权威机构的证书可以让你说服公众你可以被信任。关键的一点(并非双关语)是,付费证书并不比自签名证书更难生成——它只是来自每个人都信任的人。因此,这就像是自己制作身份证和从政府获得身份证之间的区别。您可以自己制作一个独特的、不可伪造的,但您不能期望其他人接受它?为了进一步阐述,这个答案涵盖了CA的角色:“您的web浏览器安装有所有主要证书颁发机构的公钥。它使用此公钥验证web服务器的证书是否确实由受信任的证书颁发机构签名。“换句话说,使用受信任的CA并不意味着证书没有被盗、伪造或伪造-只是证书最初由服务器声称其颁发者的实体颁发。-1。运行您自己的ca(可能离线)与任何商业ca一样难以“启动并生成新证书”。唯一的区别是默认情况下在浏览器中包含ca。通过集中管理,在用户的浏览器中包含您自己的ca很容易。因此,浏览器警告并不是在商业ca上浪费金钱的有效理由。在一个拥有复杂用户群和强大变更控制的大型组织中并不总是如此。在这些环境中,如果您需要为浏览器用户提供安全的服务,那么只需获得公共CA证书可能会更便宜,问题也会更小。听起来像是一种功能失调的组织,它首先会消除所有商业CA的偏执。不要试图编造愚蠢的论点——即使它们是有效的——只会影响一小部分SO用户。谢谢你。@hop你需要获得更多的真实世界经验;作为一名顾问,我访问了许多在内部使用公共CA证书的组织,包括几家银行。你是对的。没有别的话可说了。