社区
工具平台和程序库
帖子详情
用OpenSSL实现HTTPS 客户端
sitanda
2009-01-06 05:51:32
我要用openssl实现一个支持https下载的客户端软件。现在存在几个问题,希望大虾们指点:
如何像IE访问https://gmail.com一样知道该网站不受信任,是不是要找到IE中的“受信任的根证书颁发机构”,然后依次判断?如果是,请问如何得到这些证书的路径?
最好有完整实现的源码,谢谢!
...全文
875
10
打赏
收藏
用OpenSSL实现HTTPS 客户端
我要用openssl实现一个支持https下载的客户端软件。现在存在几个问题,希望大虾们指点: 如何像IE访问https://gmail.com一样知道该网站不受信任,是不是要找到IE中的“受信任的根证书颁发机构”,然后依次判断?如果是,请问如何得到这些证书的路径? 最好有完整实现的源码,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mrdone
2011-08-02
打赏
举报
回复
木有看懂。。。
Flood1984
2009-01-09
打赏
举报
回复
哦,不好意思,没看清,以为你是做服务端的。
如果是客户端的验证。
那就按照上面的三点来依次做就行了。
证书的验证是:查看当前证书的“名称”和“颁发者”。
如果颁发者是自己,那就是根证书,如果不是,就去找颁发者来认证;
验证颁发者,就要找颁发者的颁发都来认证,直到找到根证书。
实现方法:
如果是Windows,有一系列的API可能用来验证。
比如:
CertOpenSystemStore
CertEnumCertificatesInStore
CertGetNameString
等,你参考一下MSDN。
在Linux上,Openssl应该也有一套验证证书有效性的库。
Flood1984
2009-01-09
打赏
举报
回复
受信任的根证书颁发机构。
这个框弹出来的原因有三个:
1.证书不受信任
2.证书的是否有效
3.证书上的名称和网站名是否相同。
解决每个问题方法如下:
1.证书不受信任
一般来说自己做的证书都是根证书,只要将这个根证书安装到本机的受信任根证书中即可。
如果证书不是根证书,那就要将从CA开始到本证书的一系列证书都安装到本机。
2.证书的是否有效
这个一般不会有什么问题,注意一下证书有效时间就行。
3.证书上的名称和网站名是否相同
颁发证书时,填写的证书的所有者,一定要和网站的名称相同。
sitanda
2009-01-08
打赏
举报
回复
找来找去都是这几个相同的答案,看来只能靠自己了
猫已经找不回了
2009-01-07
打赏
举报
回复
up
fandh
2009-01-07
打赏
举报
回复
我也是这么认为!算是帮顶了!
星羽
2009-01-07
打赏
举报
回复
http://blog.csdn.net/jbboxcn/archive/2007/08/21/1753461.aspx
这个有没有用
xiaopoy
2009-01-07
打赏
举报
回复
(MS RSABASE CSP情况):
Documents and Settings\特定用户\Application Data\Microsoft\SystemCertificates木录下
sitanda
2009-01-07
打赏
举报
回复
我看了一些关于openssl的例子,好像都是利用的pem文件,请问客户端如何生成这个pem文件呢?谢谢!
blackcat242
2009-01-06
打赏
举报
回复
系统的证书都放到固定的路径了吧
基于libevent和
openssl
实现
的
https
客户端
该代码示例展示了如何将
OpenSSL
初始化封装为单例类,确保在程序启动时仅调用一次。API类中包含了一个
Https
Client对象,用于处理
HTTPS
请求。GetRecordPath函数通过POST方法向服务器发送请求,并处理响应数据。同时,文章还提到了事件基础库(event_base)和回调函数(
Https
ClientCbFunc)的使用。,
在
客户端
程序中使用
OpenSSL
来
实现
HTTPS
在证书认证上的一些分析
本文详细解析了
HTTPS
证书验证的过程,包括
客户端
与服务器间SSL握手的主要步骤,并深入探讨了如何使用
OpenSSL
进行证书验证,确保
HTTPS
连接的安全可靠。
使用C++
实现
TLS/
https
传输的服务器以及
客户端
, 本文为 在CLion编辑器(mingw)上引入
openssl
本文详细指导如何在Windows环境下,使用CLion编辑器配合预先编译的或自编译的
OpenSSL
,配置C++项目
实现
TLS/
HTTPS
通信。涉及步骤包括编辑CMakeLists文件、添加
OpenSSL
库链接、正确引入头文件以及处理DLL依赖。
c语言
实现
https
客户端
源码+详细注释(
OpenSSL
下载,visual studio编译器环境配置)
本文详细介绍了如何在VisualStudio2019环境下下载和配置
OpenSSL
,涉及官网下载、环境变量设置、以及在C++项目中使用SSL/TLS的代码示例,包括SSL_CTX的创建和操作。,
基于
OpenSSL
的
HTTPS
通信C++
实现
本文详细介绍了如何在Nebula框架中
实现
基于
OpenSSL
的
HTTPS
通信,涵盖了SSL加密通信、
OpenSSL
API的使用、SSL与TLS的区别,以及在Nebula中的具体
实现
。Nebula不仅支持
HTTPS
服务器,还支持
HTTPS
客户端
,且采用异步非阻塞的socket通信方式。在SSL连接的建立、数据传输和结束过程中,详细解析了
OpenSSL
的关键函数调用和注意事项。
工具平台和程序库
24,852
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章