我从哪里获得x509证书?

idi*_*ish 6 c# ssl networking ssl-certificate

我目前正在尝试基于SslStream类创建聊天.我正在浏览msdn链接:点击这里

我意识到我需要获得X509Certificate才能建立该任务.但我真的不知道怎么才能得到一个呢?我知道有些人花钱,但有免费的吗?

PS:我在谷歌搜索关于该主题的一些搜索但是没有找到任何有用的信息后来到这里.

所以我的问题是:我在哪里可以获得x509证书?

谢谢.

Jor*_*dão 6

您可以使用该makecert工具创建证书.

或者,如果您只对加密流量感兴趣而不签名,并且您控制客户端和服务器,那么只需使用CryptoStream.


Sam*_*lar 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 - 是否可以更改密钥大小?http://www.mazecomputer.com/sxs/help/shared.htm

openssl支持许多类型,不仅仅是RSA,但也许你不需要它们.