C# Socket SSL通讯笔记
2009-12-23 16:36
351 查看
一、x.509证书
1.制作证书
先进入到vs2005的命令行状态,即:
开始-->程序-->Microsoft Visual Studio 2005-->Visual Studio Tools-->Visual Studio 2005 命令提示
键入:
makecert -r -pe -n "CN=MyServer" -ss My -sky exchange
解释一下:makecert.exe是一个专门用来制作证书的小工具,上面一行的意思就是制作一个CN=MyServer的服务器证书,默认存储在CurrentUser"My这个位置,同时这个证书标识为可导出。(详细的
MakeCert参数可参见http://msdn.microsoft.com/zh-cn/bfsktky3(vs.80).aspx)
再输入:
makecert -r -pe -n "CN=MyClient" -ss My -sky exchange
生成客户端证书,证书生成好以后,可以在IE里查看到,IE-->工具-->Internet选项-->内容-->证书
记得要把证书导入到受信任的那栏,不然是访问不到的, 然后在IE-->工具-->Internet选项-->内容-->证书里导出一个CER,面通知过程中选不要是私钥, 这样给客户端使用
socket服务器的建立代码如下,注意所引用的命名空间:
代码
public static bool ValidateServerCertificate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
Console.WriteLine("Certificate error: {0}", sslPolicyErrors);
// Do not allow this client to communicate with unauthenticated servers.
return false;
}
如果上面返回的SslPolicyErrors枚举值不是None你就应该检查你的证书是否正确, 是否添加到信任里面。
1.制作证书
先进入到vs2005的命令行状态,即:
开始-->程序-->Microsoft Visual Studio 2005-->Visual Studio Tools-->Visual Studio 2005 命令提示
键入:
makecert -r -pe -n "CN=MyServer" -ss My -sky exchange
解释一下:makecert.exe是一个专门用来制作证书的小工具,上面一行的意思就是制作一个CN=MyServer的服务器证书,默认存储在CurrentUser"My这个位置,同时这个证书标识为可导出。(详细的
MakeCert参数可参见http://msdn.microsoft.com/zh-cn/bfsktky3(vs.80).aspx)
再输入:
makecert -r -pe -n "CN=MyClient" -ss My -sky exchange
生成客户端证书,证书生成好以后,可以在IE里查看到,IE-->工具-->Internet选项-->内容-->证书
记得要把证书导入到受信任的那栏,不然是访问不到的, 然后在IE-->工具-->Internet选项-->内容-->证书里导出一个CER,面通知过程中选不要是私钥, 这样给客户端使用
socket服务器的建立代码如下,注意所引用的命名空间:
代码
public static bool ValidateServerCertificate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
Console.WriteLine("Certificate error: {0}", sslPolicyErrors);
// Do not allow this client to communicate with unauthenticated servers.
return false;
}
如果上面返回的SslPolicyErrors枚举值不是None你就应该检查你的证书是否正确, 是否添加到信任里面。
相关文章推荐
- C# Socket SSL通讯笔记
- [转]C# Socket SSL通讯笔记
- C# Socket SSL通讯笔记
- C# Socket SSL通讯笔记
- C#Socket同步异步通讯总结笔记
- java SSL安全socket的通讯实例-java学习笔记(4)
- 使用C#实现SSLSocket加密通讯
- C#Socket同步异步通讯总结笔记
- socket通讯学习笔记(c#)
- C#Socket同步异步通讯总结笔记
- 使用C#实现SSLSocket加密通讯 Https
- [C#]手把手教你打造Socket的TCP通讯连接(二)
- [C#]手把手教你打造Socket的TCP通讯连接(一)
- socket网络通讯基础笔记
- c# 与 erlang 服务器通讯(socket)记录
- 使用C#开发Socket通讯
- Java SSL Socket通讯示例
- 基于C#的Socket简单通讯
- C# Socket编程笔记