• 大小: 13.17MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-10
  • 语言: 其他
  • 标签: c++  

资源简介

GB28181信令交互实例,使用osip库,信令有Register、Invite、Message等 GB28181信令交互实例,使用osip库,信令有Register、Invite、Message等

资源截图

代码片段和文件信息

#include “stdafx.h“

static void CvtHex(HASH Bin HASHHEX Hex)
{
unsigned short i;
unsigned char j;
for (i = 0; i < HASHLEN; i++)
{
j = (Bin[i] >> 4) & 0xf;
if (j <= 9)
Hex[i * 2] = (j + ‘0‘);
else
Hex[i * 2] = (j + ‘a‘ - 10);
j = Bin[i] & 0xf;
if (j <= 9)
Hex[i * 2 + 1] = (j + ‘0‘);
else
Hex[i * 2 + 1] = (j + ‘a‘ - 10);
};
Hex[HASHHEXLEN] = ‘\0‘;
}
void DigestCalcHA1(const char *pszAlg const char *pszUserName
const char *pszRealm const char *pszPassword
const char *pszNonce const char *pszCNonce
HASHHEX SessionKey)
{
osip_MD5_CTX Md5Ctx;
HASH HA1;
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) pszUserName strlen(pszUserName));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszRealm strlen(pszRealm));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszPassword strlen(pszPassword));
osip_MD5Final((unsigned char *) HA1 &Md5Ctx);
if ((pszAlg != NULL) && strcmp(pszAlg “md5-sess“) == 0)
{
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) HA1 HASHLEN);
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszNonce strlen(pszNonce));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszCNonce strlen(pszCNonce));
osip_MD5Final((unsigned char *) HA1 &Md5Ctx);
}
CvtHex(HA1 SessionKey);
}
void DigestCalcResponse(HASHHEX HA1 const char *pszNonce
const char *pszNonceCount const char *pszCNonce
const char *pszQop int Aka const char *pszMethod
const char *pszDigestUri HASHHEX HEntity HASHHEX Response)
{
osip_MD5_CTX Md5Ctx;
HASH HA2;
HASH RespHash;
HASHHEX HA2Hex;
/* calculate H(A2) */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) pszMethod strlen(pszMethod));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszDigestUri
strlen(pszDigestUri));
if (pszQop == NULL)
{
goto auth_withoutqop;
}
else if (0 == strcmp(pszQop “auth-int“))
{
goto auth_withauth_int;
}
else if (0 == strcmp(pszQop “auth“))
{
goto auth_withauth;
}
auth_withoutqop: osip_MD5Final((unsigned char *) HA2 &Md5Ctx);
CvtHex(HA2 HA2Hex);
/* calculate response */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) HA1 HASHHEXLEN);
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszNonce strlen(pszNonce));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
goto end;
auth_withauth_int:
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) HEntity HASHHEXLEN);
auth_withauth: osip_MD5Final((unsigned char *) HA2 &Md5Ctx);
CvtHex(HA2 HA2Hex);
/* calculate response */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      96768  2017-03-04 12:58  设备UAC\Debug\osip2.dll

     文件     194560  2017-03-04 12:58  设备UAC\Debug\osipparser2.dll

     文件     284160  2017-03-30 14:32  设备UAC\Debug\UAC.exe

     文件     972536  2017-03-30 14:32  设备UAC\Debug\UAC.ilk

     文件    1420288  2017-03-30 14:32  设备UAC\Debug\UAC.pdb

     文件    2359296  2017-03-30 15:09  设备UAC\ipch\uac-3f6d8569\uac-14ec0305.ipch

     文件       5138  2017-03-30 14:32  设备UAC\UAC\Debug\cl.command.1.tlog

     文件      64838  2017-03-30 14:32  设备UAC\UAC\Debug\CL.read.1.tlog

     文件       1892  2017-03-30 14:32  设备UAC\UAC\Debug\CL.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.2212-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.2212-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.2212.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.2212.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.4712-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.4712-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.4712.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.4712.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.656-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.656-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.656.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.656.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6592-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6592-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6592.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6592.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6644-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6644-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UAC\UAC\Debug\link.6644.read.1.tlog

............此处省略160个文件信息

评论

共有 条评论