【技术原创】Zimbra-SOAP-API开发指南6——预认证

admin 2023年2月10日15:46:15评论66 views字数 1081阅读3分36秒阅读模式

【技术原创】Zimbra-SOAP-API开发指南6——预认证

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x00 前言

本文将要继续扩充开源代码Zimbra_SOAP_API_Manage的实用功能,添加预认证的登录方式,分享开发细节。

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x01 简介

本文将要介绍以下内容:

预认证

计算preauth

SOAP实现

开源代码

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x02 预认证

参考资料:https://wiki.zimbra.com/wiki/Preauth

简单理解:通过preAuthKey结合用户名、时间戳和到期时间,计算得出的HMAC作为身份验证的令牌,可用于用户邮箱和SOAP登录

默认配置下,Zimbra未启用预认证的功能,需要手动开启

(1)开启预认证并生成PreAuthKey

命令如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

其中,

【技术原创】Zimbra-SOAP-API开发指南6——预认证

对应测试环境的命令为:/opt/zimbra/bin/zmprov generateDomainPreAuthKey mail.test.com

测试环境的输出如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

(2)读取已有的PreAuthKey

命令如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

对应测试环境的命令为:/opt/zimbra/bin/zmprov gd mail.test.com zimbraPreAuthKey

测试环境的输出如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

注:

如果Zimbra存在多个域名,那么会有多个PreAuthKey

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x03 计算preauth

参考资料中给出了多种计算preauth的示例,但是Python的实现代码不完整,这里补全Python3下的完整实现代码,详细代码如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

代码会自动生成可用的URL,浏览器访问可以登录指定邮箱

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x04 SOAP实现

SOAP格式:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

SOAP格式示例:

【技术原创】Zimbra-SOAP-API开发指南6——预认证

需要timestamp和preauth作为参数,使用预认证登录的详细代码如下:

【技术原创】Zimbra-SOAP-API开发指南6——预认证
【技术原创】Zimbra-SOAP-API开发指南6——预认证
【技术原创】Zimbra-SOAP-API开发指南6——预认证

以上代码通过预认证登录,返回可用的token,通过该token可以进行后续的SOAP操作,列出文件夹邮件数量的实现代码:

【技术原创】Zimbra-SOAP-API开发指南6——预认证
【技术原创】Zimbra-SOAP-API开发指南6——预认证

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x05 开源代码

新的代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/Zimbra_SOAP_API_Manage.py

添加了使用预认证登录的功能

【技术原创】Zimbra-SOAP-API开发指南6——预认证
0x06 小结

本文扩充了Zimbra SOAP API的调用方法,添加了使用预认证登录的功能。

相关阅读

Zimbra SOAP API开发指南

Zimbra-SOAP-API开发指南part 2

【技术原创】Zimbra-SOAP-API开发指南3——操作邮件

【技术原创】Zimbra-SOAP-API开发指南4——邮件导出和文件夹共享

【技术原创】Zimbra-SOAP-API开发指南5——邮件转发

【技术原创】Zimbra-SOAP-API开发指南6——预认证

【技术原创】Zimbra-SOAP-API开发指南6——预认证

原文始发于微信公众号(嘶吼专业版):【技术原创】Zimbra-SOAP-API开发指南6——预认证

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月10日15:46:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术原创】Zimbra-SOAP-API开发指南6——预认证https://cn-sec.com/archives/1546727.html

发表评论

匿名网友 填写信息