导航:首页 > 源码编译 > csk跟踪算法

csk跟踪算法

发布时间:2025-05-12 07:37:29

⑴ 如何调用cloudstacsk的API

CloudStack API调用
<1>制作API请求
所有的CloudStack API请求是以HTTP GET / POST有一个关联的命令和任何参数的形式提交的。无论在HTTP或HTTPS中请求都由一下组成:
l CloudStack API URL:这是Web服务的API入口点(例如,http://域名:8080/client/api)。
l 命令(Command):Web服务命令要执行,如启动虚拟机或创建一个磁盘卷。
l 参数(Parameters):任何额外的要求或命令的可选参数。
一个API GET请求示例如下:
http。//localhost。8080/client/api?command=deployVirtualMachine&serviceOfferingId=1&diskOfferingId=1&templateId=2&zoneId=4&apiKey=_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
或如下一个更可读的示例:
1. http。//localhost。8080/client/api?command=deployVirtualMachine
3. &serviceOfferingId=1
4. &diskOfferingId=1
5. &templateId=2
6. &zoneId=4
7.&apiKey=miVr6X7u6bN__EJTVwZ0nUkkJbPmY3y2bciKwFQ
8. &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D%3D
第1行是的CloudStackAPI URL。这是你希望进行交互的云实例。
第2行是指你要执行的命令。在我们的例子中,我们试图部署一个新的虚拟机。通过前面的一个(?)将要执行的命令从CloudStackAPI URL中分离出来。
第3-6行是此命令的参数。要查看命令和请求参数,请参阅在CloudStack API文档的相应部分。每个参数字段-值对(field =value)通过前面的字符(&)分隔开。
第7行是可以唯一标识帐户的APIkey。请参阅第9页上的签名API请求。
第8行是创建的签名哈希来验证用户帐户执行的API命令。
请参阅第9页上的签名API请求。
2启用API调用过期
您可以设定的到期时间戳记API调用以防止重放攻击通过非安全通道,如HTTP。服务器跟踪您所指定的到期时间戳记,并拒绝所有后续的API请求,在此有效期后。
要启用此功能,将以下参数添加到API请求:
•signatureVersion = 3:如果signatureVersion参数丢失或不等于3,在到期的API请求参数将被忽略。
•expires=YYYY-MM-DDThh:mm:ssZ:指定在哪些包含在请求中的签名已过期的日期和时间。时间戳表示YYYY-MM-DDTHH:MM:SSZ格式,ISO 8601标准中规定的。例子如下:expires=2011-10-10T12:00:00+0530。
下面给出了一个到期API请求示例:
http。//<IPAddress>。8080/client/api?
command=listZones&signatureVersion=3&expires=2011-10-10T12:00:00+0530&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D%3D
3 API 请求签名
无论你使用HTTP还是使用HTTPS访问CloudStack API,它仍必须签署CloudStack可以验证调用者的身份验证和授权来执行命令。
请确保你有由CloudStack管理员为您的帐户提供的API Key和Secret Key,然后再进行签名的过程。为了显示如何注册请求,我们将再次使用前面的例子。
http。//localhost。8080/client/api?command=deployVirtualMachine&serviceOfferingId=1&diskOfferingId=1&templateId=2&zoneId=4&apiKey=_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
每个API请求的格式:基本URL(Base URL)+ API路径(API Path)+命令字符串(CommandString)+签名(Signature)。
为了生成签名(可以用以下步骤实现)。
1.在命令字符串的每个字段的值对(由一个“&”隔开),URL解析每个值以便它可以通过HTTP GET被安全地发送。

确保所有的空格被编码为“%20”,而不是“+”。
2.整个命令字符串(Command String)小写字母顺序并通过字段对每个字段- 值排序。这一步的结果如下:
apikey=mivr6x7u6bn__ejtvwz0nukkjbpmy3y2bcikwfq&command=deployvirtualmachine&diskofferingid=1&se
3.通过验证用户的Secret Key以排序的命令字符串(Command String)并通过HMAC SHA-1散列算法(大多数编程语言提供了一个实用的方法来做到这一点)运行它。Base64编码所产生的UTF-8字节数组可安全地通过HTTP传输。经Base64编码后产生的最后字符串应该是:
“Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D”。
通过以基本URL(Base URL)+ API路径(API Path)+命令字符串(CommandString)+签名(Signature)的格式重构最终的URL

阅读全文

与csk跟踪算法相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:763
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:840
安卓怎么下载60秒生存 浏览:799
外向式文件夹 浏览:231
dospdf 浏览:427
怎么修改腾讯云服务器ip 浏览:382
pdftoeps 浏览:489
为什么鸿蒙那么像安卓 浏览:732
安卓手机怎么拍自媒体视频 浏览:182
单片机各个中断的初始化 浏览:720
python怎么集合元素 浏览:477
python逐条解读 浏览:829
基于单片机的湿度控制 浏览:495
ios如何使用安卓的帐号 浏览:879
程序员公园采访 浏览:807
程序员实战教程要多长时间 浏览:970
企业数据加密技巧 浏览:131
租云服务器开发 浏览:809
程序员告白妈妈不同意 浏览:332
攻城掠地怎么查看服务器 浏览:597