如此处所述 http://www.ddj.com/cpp/184401688
我没有时间从头开始写这篇文章.
问及未回答 /sf/ask/30447301/
问题是:
我正在寻找一些可实现MS SSPI的可编译工作源代码(如上面的线程中所提到的),程序而不是OOP首选.
我在这里查看了代码项目示例:
http://www.codeproject.com/KB/IP/sslclasses.aspx
但这是C#OOP.将其转换为C++代码并非易事.
OpenSSL的
SChannel调用遵循GSS API标准.当然,还有一些替代方案 - 例如OpenSSL.这个包是一个完整而彻底的协议实现,对于熟悉UNIX的人来说无疑是最好的选择.该软件包最初针对UNIX社区,并且编译它依赖于Perl运行时,因此从未使用过UNIX类型系统的Windows开发人员需要一些学习曲线.
除此之外,OpenSLL做了一些非常不标准的事情
尼古拉,已经提供了很多可编译的源代码(www.coastrd.com),我希望找到愿意做同样事情的人.
Mik*_*der 23
此SSPI SChannel SMTPS示例应按原样在Visual Studio 2008中编译和运行
http://www.coastrd.com/c-schannel-smtp
SChannel是包含SSL/TLS协议的GSS API的Microsoft实现.
利用SChannel的优点:
代码应该生成一个如下所示的会话:
----- SSPI初始化
----- WinSock初始化
-----凭证初始化
-----连接到服务器
70字节的握手数据发送
974字节的握手数据接收
182字节的握手数据发送
43字节握手数据收到
握手成功
-----客户握手执行
-----服务器凭证认证
服务器主题:C = US,S =加利福尼亚州,L =山景城,O = Google Inc,CN = smtp.gmail.com
服务器发行者:C = ZA,S =西开普省,L =开普敦,O = Thawte Consulting cc ,OU =认证服务部门,CN = Thawte Premium Server CA,电子邮件:E-premium-server@thawte.com
-----证书链显示
-----服务器证书验证
-----服务器证书上下文发布
协议:TLS1
密码:RC4
密码强度:128
哈希:MD5
哈希强度:128
密钥交换:RSA
密钥交换强度:1024
-----安全连接信息
64字节(加密)应用程序数据接收
解密数据:43字节
220 mx .google.com ESMTP 6sm17740567yxg.66
发送7个字节的明文:
EHLO
28字节加密数据发送
169字节(加密)应用程序数据收到
解密数据:148字节
250-mx.google.com为您服务,[22.33.111.222]
250-SIZE 35651584
250-8BITMIME
250-AUTH LOGIN PLAIN
250- ENHANCEDSTATUSCODES
250 PIPELINING
发送7个字节的明文:
QUIT
28字节加密数据发送
69字节(加密)应用程序数据接收
解密数据:48字节
221 2.0.0关闭连接6sm17740567yxg.66
----- SMTP会话完成
发送关闭通知发送的
23个字节的握手数据
-----与服务器断开连接
-----开始清理
-----全部完成-----