ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OpenSSL建立连接 socket的TCP连接OK SSL_accept返回0/-1_openwrt路由器运行openssl例程 SSL_accept返回0 -1_openwrt不能建立ssl连接

2021-10-16 21:04:25  阅读:239  来源: 互联网

标签:证书 例程 accept SSL date include openwrt 路由器


首先贴上我的启蒙恩师:

https://blog.csdn.net/zxh2075/article/details/79967227icon-default.png?t=L9C2https://blog.csdn.net/zxh2075/article/details/79967227里面不但有OpenSSL例程,还有证书的生成过程。

当然,缺了include部分

#include <openssl/rand.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <resolv.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <errno.h>
#include <curses.h>
#include <openssl/x509.h>
#include <sys/types.h>
#include <sys/wait.h>

也缺了main,随便写一个main然后调用那两个函数就好了。

另外就是证书的名字和生成证书的名字对不上,直接把二者改的一样就行,把例程证书名字改成生成证书名字,或者把生成证书名字改成例程证书名字都可以。

交叉编译

make menuconfig package/xxx/xxx/compile

编译出来单独的包,然后就openwrt路由器安装嘛,安装之后再用scp把证书导入路由器

scp xxx.pem root@192.168.1.1

运行,报错

程序运行到SSL_accept的时候,返回0,运行到SSL_connect的时候,返回-1,socket连上了,SSL就是连不上,诶,气不气!

解决方案

检查路由器和PC机的时间

date
date -s "2021-9-12 23:1:21"

用date查看二者的时间,用date -s修改路由器的时间——只要时间对上了, SSL_acppet就会正常的返回1然后继续进行了——如果这个方法不行,你遇到的问题就与我不同了,慢慢排查叭。

标签:证书,例程,accept,SSL,date,include,openwrt,路由器
来源: https://blog.csdn.net/Mr_liu_666/article/details/120803623

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有