c# - TLS 之上的 p2p 协议(protocol),同步中间证书

标签 c# ssl ssl-certificate x509certificate

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 3 年前

想象一个类似比特币的网络,其中点对点使用 TLS 之上的自定义协议(protocol)进行通信。当建立两个对等点之间的连接时,每一方都会验证彼此的证书。 根证书随软件一起提供。

可能会在软件交付后创建中间证书。问题是在创建新中间证书时交付新中间证书的最佳方法是什么以及如何实现证书撤销?

例如,有 2 个节点 p1p2,证书分别为 c1c2,每个节点都是由中间证书 i1i2 签名,它们由根证书签名。

现在我可以想象它可以使用一个集中式服务器来实现,该服务器提供所有已颁发的中间证书的列表,而对等点只是不时地提取这些数据以保持他们的本地副本是最新的。

是否有解决此问题的通用方法?

最佳答案

我认为没有必要在这里发明一种新技术来以某种方式分发这些信息。只需为此目的使用已经存在的内容:

  • 中间证书通常在 TLS 握手中与叶证书一起发送。无需预先分发这些内容。
  • 可以使用 OCSP 等成熟技术来撤销证书,方法是询问中央服务器(OCSP 响应者)证书是否被撤销,或者(最好)在 TLS 握手(OCSP 装订)期间发送必要的 OCSP 响应。

关于c# - TLS 之上的 p2p 协议(protocol),同步中间证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57789712/

上一篇:laravel - 代理通行证 : Mixed Content in Laravel HTTPS

下一篇:javascript - NodeJS Express 反向代理 TLS_CERT_ALTNAME_INVALID 错误

相关文章:

c# - 无法阻止 WinKey+Up 移动我的表单

django - 使用 https 访问 AWS elastic ip

java - 升级到 Java JDK 11 时 MySQL 出现 SSL 异常

Java SSL : how to disable hostname verification

python - Tornado https ssl 错误

c# - 如何在 yyyymmddhhmmss 中获取日期时间

c# - 通过 FileSystemWatcher 减少受监控文件的数量

c# - 将控件插入 Tab 键顺序的最佳方法?

java - SSL 握手失败 Android 5.1

所有域的 SSL 证书