关于wininet,高手请进

alexela 2004-11-09 02:21:18
我使用wininet进行ssl连接,成功通过,可是发现一个问题,就是在设置证书后
InternetSetOption(FhRequest,
INTERNET_OPTION_CLIENT_CERT_CONTEXT,
(LPVOID)pdDesiredCert,
sizeof(CERT_CONTEXT));
第一次进行ssl连接,一切正常,可是第二次怎么都不行,把所有变量重新释放后赋值,所有函数重新执行一遍,都在sendrequest的时候返回12157,即ERROR_INTERNET_SECURITY_CHANNEL_ERROR 错误。
如果是采用对话框处理证书问题,
InternetErrorDlg(GetDesktopWindow(),
FhRequest,
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED,
FLAGS_ERROR_UI_FILTER_FOR_ERRORS |
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA |
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS,
NULL);
则一切都OK。

有哪位高手知道该怎么处理?!
我需要自己加载文件中的证书,通过编程方式选择客户端证书,而不是通过对话框从IE的证书列表中选!
...全文
301 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
myy 2004-11-12
  • 打赏
  • 举报
回复
真是瞎猫碰到死老鼠...
alexela 2004-11-12
  • 打赏
  • 举报
回复
多谢,与你的建议相反,我加上INTERNET_FLAG_KEEP_CONNECTION,INTERNET_FLAG_EXISTING_CONNECT 时,这个问题解决了:)
myy 2004-11-09
  • 打赏
  • 举报
回复
ssl我不会,你试试在HttpOpenReques 时不加

INTERNET_FLAG_KEEP_CONNECTION,INTERNET_FLAG_EXISTING_CONNECT 选项。

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧