Sofia-SIP辅助文档十二 - Sofia SIP用户代理库 - "iptsec" - 认证模块

http://sofia-sip.sourceforge.net/refdocs/iptsec/index.html翻译自官网的这张网页。


模块元信息

iptsec模块提供HTTP Basic和Digest认证方式的接口,会在HTTP和SIP协议中使用。这些接口中既包括服务端使用的接口和也包括客户端使用的接口。

联系人:
Pekka Pessi < Pekka.Pessi@nokia-email.address.hidden>
状态:
Sofia SIP Core library
许可:
LGPL

服务端授权认证

<sofia-sip/auth_module.h>头文件中定义了服务端响应来自客户端的授权认证接口。服务端创建好认证模块后,通常的认证操作足够简单:

  1. 服务器利用来自请求的信息初始化auth_status_t结构体
  2. 服务器调用auth_mod_method()函数
  3. 服务器检查auth_status_t结构体的状态,如果认证失败返回错误响应
  4. 服务器处理认证请求。

如果操作是异步的,当调用auth_mod_method()函数返回时一个预备的结果已经保存在auth_status_t结构体内了。异步方式下,可以将一个回调函数赋给结构体。当认证完成后回调函数会被调用。可以使用auth_mod_cancel()函数取消还未结束的认证操作。

服务端侧认证参数

服务器使用auth_mod_create()函数创建认证模块时,可指定不同的参数来影响认证协议和算法。这些参数tags在<sofia-sip/auth_module.h>头文件中定义。最重要的参数有这么一些:

客户端认证用户

<sofia-sip/auth_client.h>头文件中定义了客户端使用的与服务端一道认证用户的接口。因为可能存在多个服务器和代理需要认证,所以客户端侧认证信息用auth_client_t对象列表表示。客户端侧的操作是这样的:

  1. 发送请求
  2. 获取401或407响应和挑战
  3. 使用auc_challenge()函数将挑战放入一个列表内
  4. 与客户交互获取凭证(用户名和密码),使用auc_credentials()auc_all_credentials()函数将凭证放入列表
  5. auc_authorization()函数认证一个请求(将凭证header放入请求中),然后重新发送请求

如果有多个认证realm需要凭证,应用程序在使用auc_all_credentials()函数时必须提供相应的realm。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[3\]的内容,你在编译sofia-sip时遇到了一个错误,错误信息是"configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../..""。这个错误通常是由于缺少必要的安装文件导致的。 为了解决这个问题,你可以尝试执行以下步骤: 1. 确保你已经安装了必要的依赖项。根据引用\[1\]中的内容,你可以使用命令"brew install"来安装缺少的依赖项。 2. 检查你的配置文件是否正确。根据引用\[1\]中的内容,你可以尝试使用"./configure"命令,并指定正确的路径和参数来配置sofia-sip。 3. 检查你的安装文件是否存在。根据错误信息,你需要确保"install-sh"、"install.sh"或"shtool"文件存在于当前目录或其父目录中。如果这些文件确实不存在,你可以尝试从其他来源获取它们,并将它们放置在正确的位置。 希望这些步骤能够帮助你解决问题。如果问题仍然存在,请提供更多的信息,以便我能够给出更具体的建议。 #### 引用[.reference_title] - *1* *2* *3* [MAC下build Janus](https://blog.csdn.net/dotphoenix/article/details/104789566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值