3

我正在使用 Go 编写一个简单的客户端和服务器。我不想为 SSL 证书付费,而且我已经读到自签名证书对于证明身份毫无用处,因为攻击者可以只是 MITM 并提供他自己的自签名证书。

但是,我了解到我可以让我的客户使用我想要的任何根证书。我可以自己创建,让客户信任,为我的服务器签署证书,并在受到 MITM 攻击保护的同时安全连接吗?如果是这样,我如何创建自己的根证书?

4

1 回答 1

4

自签名证书是部署您自己的 PKI 的一种特殊情况(推到了极端,即您在该 PKI 中只有一个证书)。

两者都可以用来防止 MITM 攻击,前提是客户端可以使用它预先知道的信任锚(证书)来验证服务器证书(并且已经以受信任的方式配置了它们)。

您可以创建自己的 CA 并将客户端配置为使用其根 CA 证书,或者,如果您只有一组非常有限的服务器,您通常可以将客户端配置为直接信任特定证书(自签名或非自签名)。

您可能对以下问题感兴趣,以获取工具链接:

一旦您了解了基本原理,技术方面就不一定很困难,但真正困难的一部分在于您的 CA 的管理。

于 2012-07-23T15:15:01.117 回答