我目前正在尝试基于SslStream类创建聊天。 我正在浏览msdn链接:click here
我意识到我需要获得X509Certificate来建立该任务。但我真的不知道怎么才能得到一个呢?我知道有些人花钱,但有免费的吗?
P.S:我在google上搜索一下这个主题但是没有找到任何有用的信息后来到这里。所以我的问题是:我在哪里可以获得x509证书?
谢谢。
答案 0 :(得分:6)
您可以使用makecert
工具创建证书。
或者,如果您只对加密流量感兴趣而不签名,并且您控制客户端和服务器,则只需使用CryptoStream
。
答案 1 :(得分:5)
您可以使用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。
Stil我去了他们的文档,我找不到如何设置密钥大小,虽然显然默认为1028
,我认为使用RSA
,但我确实找到了这个:
makecert -pe -ss MY -$ individual -n "CN=your name here" -len 2048 -r
从MakeCert - Is it possible to change the key size?到http://www.mazecomputer.com/sxs/help/shared.htm
openssl支持许多类型,不仅仅是RSA,但也许你不需要它们。
答案 2 :(得分:4)
这些家伙http://www.cacert.org/多年来一直赠送免费证书。
答案 3 :(得分:1)