社区
网络编程
帖子详情
为什么连接不到https?
thisworld
2005-08-31 04:01:51
我要程序与一个https的网站通信,准备用openssl库,但程序一开始就遇到问题了,
我建了个socket,能够与http的网站相连,却connet不上https的那个网站,不知道是什么原因?(这里还没有用到openssl)
大家有没有相关的源代码或资料,请发到8_88_888@163.com,谢谢了!
...全文
242
6
打赏
收藏
为什么连接不到https?
我要程序与一个https的网站通信,准备用openssl库,但程序一开始就遇到问题了, 我建了个socket,能够与http的网站相连,却connet不上https的那个网站,不知道是什么原因?(这里还没有用到openssl) 大家有没有相关的源代码或资料,请发到8_88_888@163.com,谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thisworld
2005-09-05
打赏
举报
回复
SSL_get_peer_certificate是干什么用的?
是openssl包中的函数,得到安全证书信息什么的
thisworld
2005-09-01
打赏
举报
回复
自己找到原因了,原来是端口设置不对,https的端口是443
但是还有好多些问题:
server_cert = SSL_get_peer_certificate (ssl);
CHK_NULL(server_cert); //得不到server_cert,在这里就退出了,
softrain
2005-09-01
打赏
举报
回复
mark
SSL_get_peer_certificate是干什么用的?
thisworld
2005-08-31
打赏
举报
回复
程序在显示:connect failed!之后便退出了,
而我在ie中可以访问https://172.168.126.58
thisworld
2005-08-31
打赏
举报
回复
代码如下,
#include <iostream.h>
#include <winsock2.h>
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#define CHK_NULL(x) if ((x)==NULL) exit (1)
#define CHK_ERR(err,s) if ((err)==-1) { perror(s); exit(1); }
#define CHK_SSL(err) if ((err)==-1) { ERR_print_errors_fp(stderr); exit(2); }
void main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData))
{
cout<<"init winsock failed!"<<endl;
return;
}
SOCKET s;
SOCKADDR_IN addr;
int len=sizeof(addr);
s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (s==INVALID_SOCKET)
{
cout<<"create socket failed!"<<endl;
return;
}
addr.sin_port=htons(80);
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=inet_addr("172.168.126.58");
if (connect(s,(sockaddr *)&addr,len)==SOCKET_ERROR)
{
cout<<"connect failed!"<<endl;
return;
}
else
{
cout<<"connect success!"<<endl;
}
int err;
SSL_CTX* ctx;
SSL* ssl;
X509* server_cert;
char* str;
//char buf [4096];
SSL_METHOD *meth;
SSLeay_add_ssl_algorithms();
meth = SSLv2_client_method();
SSL_load_error_strings();
ctx = SSL_CTX_new (meth);
CHK_NULL(ctx);
ssl = SSL_new (ctx);
CHK_NULL(ssl);
SSL_set_fd (ssl, s);
err = SSL_connect (ssl);
CHK_SSL(err);
cout<<"SSL connection using "<<endl<<SSL_get_cipher (ssl)<<endl;
server_cert = SSL_get_peer_certificate (ssl);
CHK_NULL(server_cert);
cout<<"Server certificate: "<<endl;
str = X509_NAME_oneline (X509_get_subject_name (server_cert),0,0);
CHK_NULL(str);
cout<<"\t subject: "<<endl<<str<<endl;
OPENSSL_free (str);
str = X509_NAME_oneline (X509_get_issuer_name (server_cert),0,0);
CHK_NULL(str);
cout<<"\t issuer: "<<endl<<str<<endl;
OPENSSL_free (str);
X509_free (server_cert);
SSL_shutdown (ssl);
closesocket(s);
SSL_free (ssl);
SSL_CTX_free (ctx);
WSACleanup();
}
VCSQLVB
2005-08-31
打赏
举报
回复
帖出代码
为什么Charles抓
不到
HTTPS
?为什么会有这种事!
在尝试使用Charles在IOS设备上抓取
HTTPS
流量时遇到困难?本文详细介绍了从软件准备到环境搭建,包括获取电脑IP、设置手机HTTP代理、安装证书以及配置SSL Proxying的步骤,帮助你解决抓包
不到
HTTPS
的问题。同时提醒,在不使用时记得关闭HTTP代理以避免网络影响。
为什么我抓
不到
baidu的数据包
文章讲述了如何抓取并解密
HTTPS
包的过程,涉及TCPdump、Wireshark、SSL/TLS握手和预主密钥(pre_master_key)的获取方法。通过SSLKEYLOGFILE环境变量导出关键信息,实现
HTTPS
数据包的解密。
websocket
连接
https
本文总结了WebSocket
连接
HTTPS
时遇到的问题及解决方案。主要内容包括ws与wss的区别,
HTTPS
下浏览器对ws协议的限制,WebSocket握手过程的解析,以及在配置Nginx时的相关注意事项。通过实例和参考资料,帮助读者理解和解决WebSocket在
HTTPS
环境下建立
连接
的常见问题。
HTTPS
为什么安全
本文深入解析
HTTPS
为何安全,从密码学基础入手,讲解对称加密与非对称加密的区别,以及
HTTPS
如何结合这两种加密方式保障数据传输安全。文章详细介绍了
HTTPS
通信过程,包括公钥与私钥的使用,以及客户端与服务器之间的加密解密流程。
HTTPS
建立
连接
详细过程
本文详细解析
HTTPS
连接
的全过程,从客户端发起请求到服务端响应,再到客户端验证证书、生成随机数,直至完成握手过程,全面阐述
HTTPS
的安全通信机制。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章