我目前正在尝试基于 SslStream 类创建聊天。我正在浏览那个 msdn 链接:点击这里
我意识到我需要获得 X509Certificate 来建立该任务。但我真的不知道我怎样才能得到一个?我知道有些是花钱的,但没有免费的?
PS:我在谷歌搜索该主题后来到这里,但没有找到任何有用的信息。
所以我的问题是:我在哪里可以获得 x509 证书?
谢谢你。
我目前正在尝试基于 SslStream 类创建聊天。我正在浏览那个 msdn 链接:点击这里
我意识到我需要获得 X509Certificate 来建立该任务。但我真的不知道我怎样才能得到一个?我知道有些是花钱的,但没有免费的?
PS:我在谷歌搜索该主题后来到这里,但没有找到任何有用的信息。
所以我的问题是:我在哪里可以获得 x509 证书?
谢谢你。
makecert
您可以使用该工具创建证书。
或者,如果您只对加密流量感兴趣,而不对其进行签名,并且您控制客户端和服务器,则只需使用CryptoStream
.
您可以使用 openssl 生成您自己的并自己签名,但请记住,如果客户端尝试验证它,并且客户端我通常指的是浏览器,因为这是它们最常见的用途,尽管不是唯一的,它们将无法。
我知道有些是花钱的,但没有免费的?
基本上,您所支付的是 CA,证书颁发机构对其进行签名,因此当客户去验证您与 CA 的关系时,它将通过。
openssl: http://www.openssl.org/
这是我通常使用的命令openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.pem
server.pem
是您的证书,server.key
也是您的私钥。
假设您可能已经安装了 .NET SDK,makecert 可能是一种更好/更简单的方法,因为您需要构建 openssl。
仍然我去了他们的文档,但我找不到如何设置密钥大小,虽然显然默认值是1028
并且我认为 using RSA
,但我确实找到了这个:
makecert -pe -ss MY -$ individual -n "CN=your name here" -len 2048 -r
来自MakeCert - 是否可以更改密钥大小?到http://www.mazecomputer.com/sxs/help/shared.htm
openssl 不仅支持 RSA,还支持许多类型,也许您不需要它们。
这些家伙http://www.cacert.org/多年来一直在赠送免费证书。
为了清楚起见,请通读此内容。您可以使用 Symantec 的Verisign服务签署您的公钥。它绝对不便宜。对于测试,您可以使用虚拟 CA 制作自己的证书。