我可以创建自己的根证书以用于与Go的SSL连接吗?这样安全吗?

时间:2012-07-23 13:50:55

标签: ssl-certificate go ssl self-signed

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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

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

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