Onvif编译及开发(带wsse鉴权和digest鉴权)

1.gsoap工具下载

使用gsoap版本2.8.126,

有道云笔记

gsoap_2.8.126.zip

2.创建OnvifFramework_126文件夹

将\gsoap_2.8.126\gsoap-2.8\gsoap下的plugin,import,custom复制到onvifFrameworkC

将wsdl2h.exe和soapcpp2.exe复制到F:\OnvifFramework_126目录下

将F:\gsoap_2.8.126\gsoap-2.8\gsoap下的stdsoap2.cpp,stdsoap2.h,dom.cpp复制到OnvifFramework_126

将F:\gsoap_2.8.112\gsoap-2.8\gsoap下的typemap.dat复制到OnvifFramework_126

3.使用命令生成onvif.h文件

wsdl2h -x -t typemap.dat -o onvif.h http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl http://www.onvif.org/onvif/ver10/search.wsdl http://www.onvif.org/onvif/ver10/display.wsdl http://www.onvif.org/onvif/ver10/deviceio.wsdl http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl http://www.onvif.org/onvif/ver10/receiver.wsdl http://www.onvif.org/onvif/ver10/recording.wsdl

通过以上方式可以在线下载,无需使用离线文件。

5.onvif.h中添加

#import "wsse.h"

通过添加wsse.h,允许使用ssl。

6.修改import/wsa5.h

防止SOAP_ENV__Fault重复错误,修改\import\wsa5.h。把SOAP_ENV__Fault的名字改了

7.使用命令生成文件

soapcpp2 -2 -x -C onvif.h -L -Iimport

8.提取文件至onvif_frame

提取相应文件,并修改后缀c为cpp。

9.相关报错

9.1 LONG64

取消掉 xsd__duration = #import "custom/duration.h" | xsd__duration 前面的注释

9.2.无法解析的外部符号 _namespaces

在stdsoap2.cpp中添加#include "wsdd.nsmap"

9.3.添加预编译头

_CRT_SECURE_NO_WARNINGS

WITH_DOM

WITH_OPENSSL

DEBUG:生成TEST.txt SEND.txt RECV.txt用于soap调试

WITH_NONAMESPACE :针对报namespace无法解析

10.生成文件和ptz控制demo

有道云笔记

OnvifFramework_126.rar

Onvif_demo2.rar

11.Onvif鉴权方式改Digest方式。

在gsoap中已经考虑到使用http Digest方式授权。见httpda.c和httpda.h。

仿照e'xample写相关代码即可。

如果一次鉴权多次使用,则参考http_da_restore,

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ONVIF(开放网络视频接口论坛)设备服务是一种标准化的网络视频设备管理和控制技术。在进行HTTP Digest鉴权时,需要进行以下几个步骤: 首先,客户端向ONVIF设备发送服务请求。这个请求是一个HTTP请求,其中包含了一些参数,如URL路径、请求方法和请求头等。 其次,ONVIF设备会检查请求头中是否包含了表示摄像机和用户凭证的信息,如用户名和密码等。这些信息是为了验证请求的合法性以及确定用户的权限。 然后,设备会使用Digest鉴权算法对用户凭证进行加密处理,以确保凭证的安全性。Digest鉴权算法是一种基于哈希函数的安全算法,可以对用户凭证进行不可逆的加密处理。 接着,设备会将加密后的凭证与之前存储的用户凭证进行比对。如果匹配成功,则表示鉴权通过,设备可以继续处理请求。如果匹配失败,则拒绝服务请求,并返回相关的错误信息。 最后,设备会根据请求的内容执行相应的操作,如获取视频流、录像回放或其他设备管理功能。同时,设备还会生成相应的HTTP响应,并将结果返回给客户端。 通过在ONVIF设备服务的请求中进行HTTP Digest鉴权,可以保证只有授权的用户可以访问设备,并确保用户凭证的机密性和安全性。这种鉴权机制在网络视频设备管理和控制中起到了重要的作用,帮助保护设备和用户的安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值