C# Socket SSL通讯笔记
2016-01-28 16:09
253 查看
C# Socket SSL通讯笔记
一、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你就应该检查你的证书是否正确, 是否添加到信任里面。
相关文章推荐
- C# 初始winform——1
- 讲解C#面相对象编程中的类与对象的特性与概念
- c#动态类型Dynamic
- C#编程中使用ref和out关键字来传递数组对象的用法
- Web爬去的C#请求发送
- 深入解析C#中的交错数组与隐式类型的数组
- C#中用foreach语句遍历数组及将数组作为参数的用法
- 详解C#编程中一维数组与多维数组的使用
- C# 操作Access的Ole对象
- C#中Access 连接字符串
- 解析C#编程的通用结构和程序书写格式规范
- c# 调用摄像头进行视频录制和压缩等
- C#联合Union的实现方式
- C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
- C#反射技术的简单操作(读取和设置类的属性)
- C# 16进制与字符串、字节数组之间的转换
- C#入门到精通学习笔记01
- 二叉堆实现
- 基于C#代码实现九宫格算法横竖都等于4
- C# 提取方法重构