gpt4 book ai didi

java - 签署证书的解决方案

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:21 24 4
gpt4 key购买 nike

对于有多个应用服务器和多个客户端的系统,我想介绍一下相互认证以及TLS提供的其他安全保护。

服务器和客户端可以位于不同的网络,也可以位于同一网络。

每个实体(客户端或服务器)都有自己的 keystore ,用于存储其私钥/公钥对和包装公钥的 X.509 证书。但是,此时,证书是自签名的。因此,它不会被其他通信实体验证。经过一些研究,我研究了一些解决方案:

  1. 创建将签署证书的私有(private) CA。如果我很好理解,CA 的证书必须存在于每个实体的信任库,以便其他实体的证书可以使用 CA 的证书进行验证。
  2. 创建私有(private) CA 作为第一个解决方案。但是,私有(private) CA 的证书是由商业 CA(例如 Verisign)签署的。我不知道它对以前的解决方案添加了什么。
  3. 由商业 CA 签署每个实体的证书。但这种解决方案似乎很昂贵。
  4. 仅使用自签名证书。每个实体的证书都是由它自己签名的,并且必须添加到每个实体的信任库中它想要与之通信的实体。

这是我第一次体验安全性。在您认为有效的解决方案中,您推荐哪一个?

谢谢

最佳答案

为了便于阅读,我已经对您的选项进行了编号。

您的选项 4 具有与第一个选项类似的安全和管理细节。 IE。您的选择范围缩小到自己与第三方 CA 服务。虽然你可以从 CA 机构购买你自己的 CA 证书,但它会花费很多,嗯。但多少是“很多”是由 CA 销售人员根据具体情况确定的。

就管理复杂性而言,我将它们按以下顺序排列(第一个是最简单的):3, 1, 2, 4

在选项 1、2、4 中,您必须管理您的证书,这需要了解 PKI 及其安全程序(除了纯技术之外,您还需要确保私钥受到保护)以及用于证书生成和管理的软件 ( openssl 等对于大多数 Activity 来说是不够的,很可能您需要编写自己的代码来生成证书)。

拥有一个 OCSP 服务器也是一个好主意,在选项 1、2、4 的情况下,您必须自己运行它。

关于java - 签署证书的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com