我正在尝试使用SSL而不使用libs作为OpenSSL等...而且我在第一步有来自客户端的Hello消息有错.
来自technet:
It must consist of:
ClientVersion 3,1
ClientRandom[32]
SessionID: None (new session)
Suggested Cipher Suites:
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
Suggested Compression Algorithm: NONE
Run Code Online (Sandbox Code Playgroud)
在我的代码(C/C++)中,我以这种方式创建了消息:
char *request = "ClientVersion 3,1\r\nClientRandom[32]\r\n
SessionID: None (new session)\r\n
Suggested Cipher Suites:\r\n
TLS_RSA_WITH_3DES_EDE_CBC_SHA\r\n
TLS_RSA_WITH_DES_CBC_SHA\r\n
Suggested Compression Algorithm: NONE\r\n";
Run Code Online (Sandbox Code Playgroud)
但是在recv()函数之后,我的结果是0,所以我的消息结构有什么问题?
PS在HTTP-proto中有一个地方,当必须是双\ r \n(分割标题和正文消息),可能是,必须有这样的东西吗?
你需要好好看看RFC 2246,而不仅仅是制作东西.例如,消息元素之间的换行符是您想象的虚构.
但是为什么你认为你可以"手动"使用SSL是一个谜.你不能,也不需要.重新实现SSL是一项重要任务,您没有足够的资源来执行此操作.使用你的库:OpenSSL,JSSE等.
归档时间: |
|
查看次数: |
9618 次 |
最近记录: |