Onvif  Windows下客服端鉴权

终于把鉴权问题搞定了,上上下下不少于一周时间。趁着这份喜悦,好好的总结一下,给自己留下点东西以后来看,同时也希望对后面的开发者有用。同时也谢谢不少网友的帮助。

步骤:

1:生成onvfi.h。

2:修改 onvif.h 在onvif.h中添加头文件 #include “wsse.h”

3:用soapcpp2.exe 生成开发的代码框架。前面几部网上资料比较多。

鉴权部分用到的所有的文件

gsoap/dom.c
     gsoap/stdsoap2.c
     gsoap/stdsoap2.h
     gsoap/custom/duration.c
     gsoap/plugin/mecevp.c
     gsoap/plugin/mecevp.h
     gsoap/plugin/smdevp.c
     gsoap/plugin/smdevp.h
     gsoap/plugin/threads.c
     gsoap/plugin/threads.h
     gsoap/plugin/wsaapi.c
     gsoap/plugin/wsaapi.h
     gsoap/plugin/wsseapi.c
     gsoap/plugin/wsseapi.h

所有的文件列表如下。

鉴权部分

主要用到的函数

soap_wsse_add_UsernameTokenDigest(soap,NULL,"admin","12345");

如果就这样编译通不过会出现以下类似的错误。

出现上面的问题,我第一印象是少了什么头文件,然后就尝试着去添加各种头文件,过程中是少一点错误,但是增加了跟多的错误。

无奈只得在网上找资料,随便看看,问朋友。

编译wsseapi.c时需要需要openssl的支持,并且编译以上所有文件时,增加两个

宏CFLAGS+=-DWITH-DOM -DWITH-OPENSSL

当时不明白怎么搞,就问了下朋友。下面是一个热心网友的回答。

鉴权加入:在生成代码骨架之前确认一下,终端设备是否需要安全认证,如果需要安全认证,那么需要在onvif.h里添加

#import "wsse.h"

添加位置大约在onvif.h 98 行处,放在其他#import 的后面即可。

在“项目属性”—》“配置属性”—》“C/C++”—》“预处理器”—》“预处理定义”添加“WITH_DOM”和“WITH_OPENSSL”。

Linux 下 gcc wsseapi.c -DWITH-DOM -DWITH-OPENSSL。

感谢热心朋友的帮助。

最后编译通过。

然后抓包分析。

鉴权成功。

到此为止。

小熊

onvif 客服端鉴权相关推荐

  1. JSP获得客服端MAC地址

    为什么80%的码农都做不了架构师?>>>    package com.sun.servlet;import java.io.IOException; import java.net ...

  2. mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...

    在 wifi 局域网下,手机可以和电脑通过 socket 通信.手机做服务端,电脑做客户端:也可 以反过来,电脑做服务端,手机做客户端. 下面介绍的是手机作为服务端,电脑使用 MFC 编程作为客户端, ...

  3. CXF 客服端调用报错

    服务端已经发布了WSDL,现在在客服端生成web service客服端代码,在eclipse中新建一个project,然后new->web services->web service cl ...

  4. 使用 WPF + Chrome 内核实现 在线客服系统 的复合客服端程序

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 免费使用 & 私有化部署免费下载:https://docs.sh ...

  5. 【转载】android客服端+eps8266+单片机+路由器之远程控制系统

    用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的 ...

  6. 客服端与服务器之间传输信息,QT实现客服端和服务器之间消息和文件交互

    QT实现客服端和服务器之间消息和文件交互 文章目录 QT实现客服端和服务器之间消息和文件交互 平台环境 数据库选择与安装 交叉编译工具链GCC的安装 数据库创建数据 Qt的开发环境搭建 Web实现 T ...

  7. 四:客服端防护HTTP发送请求类

    一.源代码: public class swtDefendOperate { private BackgroundWorker backgroundWorker; //DefendType的值 Ver ...

  8. OAuth 及 移动端鉴权调研

    OAuth OAuth是一个解决用户无需向第三方应用提供用户名密码,让第三方应用访问用户私密资源的授权方案. 举例: 用户a,在网站B存有私密信息(年龄.邮箱.头像),而a在访问第三方网站C时,为了让 ...

  9. H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程...

    前言 目前,即时通讯在线咨询在网站.APP.小程序中已经是不可获取的功能,尤其是专注于线上营销的商家,迫切需要一套可以随时与访客交流的即时通讯工具. 如果使用市面上的SaaS客服系统,会在功能上受限制 ...

最新文章

  1. PostgreSQL 10.1 手册_前言_2. PostgreSQL简史
  2. 【OpenCV3】图像旋转与平移——cv::warpAffine()详解
  3. 4道Python基础文件操作函数 练习题
  4. C++fast power快速指数的实现(附完整源码)
  5. python中parse是什么_python中的configparse学习笔记
  6. 【ArcGIS风暴】ArcGIS平台上点云(.las)数据生成等高线方法案例精解
  7. 双系统重装win7/Xp后如何恢复ubuntu引导--转载
  8. SpringMVC学习(三)RestFul风格
  9. Mysql 基础知识
  10. [转]Linux芯片级移植与底层驱动(基于3.7.4内核)
  11. JAVA JSP网上订餐系统JSP餐厅点餐系统源码JSP点餐系统JSP网上订餐系统JSP在线订餐
  12. Excel高级应用高频使用函数汇总
  13. 如何限制局域网计算机上网,怎么样禁止局域网用户修改电脑ip地址
  14. 使用john进行密码爆破
  15. 《Android开发偶遇有趣算法问题》---获得地图方圆r米内的一个随机坐标点(求单位圆内随机点)
  16. 浙工大 drcom客户端 嵌入 Linux路由器
  17. Python手撸机器学习系列(十六):循环神经网络RNN的实现
  18. 阿里云物联网平台-数据解析脚本详解
  19. 图片查看插件-magnify
  20. 日本人为什么不吃鲤鱼

热门文章

  1. linux 隐藏命令参数,linux – 在ps中隐藏命令的参数
  2. 压缩跟踪Compressive Tracking源码理解
  3. 极客日报:iPhone 13或有8款配色;vivo百万年薪招工程师;特斯拉新增行车记录视频紧急情况自动保存功能
  4. 胆结石的发病原因有哪些?
  5. 计算机与软件工程-研究生复试-专业面试-零碎基础知识-2
  6. 思维导图(自我介绍)
  7. uview去除u-button按钮自带边框细线
  8. 精彩回顾 | Dev.Together 2022 开发者生态峰会圆满落幕
  9. 项目经理修炼之道(1) -- 给软件开发建模 .
  10. Docker Compose方式安装GitLab