CloudStack如何生成Signature调用API


这篇文章主要介绍了CloudStack如何生成Signature调用API,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一:前言/***************该段-官话********************/CloudStack API 也是基于 Web Service,可以使用任何一种支持 HTTP 调用的语言(例如 Java,PHP)编写代码。调用代码(caller)首先需要在管理服务器进行认证。目前 CloudStack 采用两种认证方式:Session 认证:通过 login API,获得一个 JSESSIONID cookie 和一个 SESSIONKEY token。API Key 认证。/***************该段-官话********************/
二:采用 API Key 进行认证:
1、生成Signature 之前,我们得先拥有[API Key] & [Security Key],该文主要记录Signature 加密实现,如何生成这两个Key 撸主 便不再赘述。2、官方提供生成Signature 的语言是Perl:地址如下,可自行观摩: https://github.com/snumano/CloudStack-API/blob/master/generate-url.pl3、进而撸主又找到了 Python 版本:地址如下: https://github.com/jasonhancock/cloudstack-pythonclient/blob/master/CloudStack/BaseClient.py4、当然也少不了Java 版本的:CloudStack 开源包里应该能找到,在此撸主分享一篇帖文:http://blog.csdn.net/rishengcsdn/article/details/38387721 三:使用C# 生成 Signature,有了以上资料,写起C# 版本的,自是得心应手,当然也有些许差异,几个问题需要注意:1、[ApiKey] & [SecretKey] 字符串较长,切勿出错2、参数加密时以小些形式3、参数加密时,需要对其进行排序(以参数第一个字母为准)4、加密前统一编码:UTF85、加密方式为:HmacSha16、加密后信息确认编码为: UTF87、组合字符串四:代码实现(仅供参考,测试代码)如:获取云主机的状态信息
参数信息: 调用地址:“http://*.*.*.*:**/client/api?” API 名称: “listVirtualMachines” 参 数: details=stats 状态 account=admin 操作人账号 id=**** 虚拟主机编号API KEY:“******************”SecretKey: “****************”输出:http://*.*.*.*:**/client/api?command=listVirtualMachines&details=stats&account=a开发云主机域名dmin&id=****&apikey=****&signature=****测试执行:成功.感谢你能够认真阅读完这篇文章,希望小编分享的“CloudStack如何生成Signature调用API”这篇文章对大家有帮助,同时也希望大家多多支持开发云,关注开发云行业资讯频道,更多相关知识等着你来学习!

相关推荐: Ceph架构和组件

Ceph 存储由几个不同的守护进程组成,这些守护进程彼此之间是相互独立的,每一个组件提供特定的功能。RADOS(Reliable Autonomic Distributed Object Store 可靠、自动,分布式对象存储) 是ceph存储组件开发云主机域…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/27 15:48
下一篇 05/27 15:48

相关推荐