2013-12-13 40 views
1

真的希望有人能够帮助我在这里。 我在vb.net中制作了一个小程序,它将与我最近部署的Cloudstack进行交互。cloudstack api与视觉基本签名

当时我的API直接以401未授权方式拒绝,所以我显然没有正确生成我的签名。

我拉从中说明了如何生成签名请求签名的文件的位......你可以查看这里:http://www.x85.co.uk/generatesig.txt

我用一个例子功能我在网上找到获得SHA1哈希值,但远不在此代码它有密钥,那么这就是一个问题...

Function getSHA1Hash(ByVal strToHash As String) As String 
Dim sha1Obj As New Security.Cryptography.SHA1CryptoServiceProvider 
Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash) 
bytesToHash = sha1Obj.ComputeHash(bytesToHash) 
Dim strResult As String = "" 
For Each b As Byte In bytesToHash 
    strResult += b.ToString("x2") 
Next 
Return strResult 
End Function 

我也还没有包含在URL编码位因为我不知道如何做到这一点。

任何帮助appriciated。

谢谢你们!

回答

0

尝试CloudStack .NET SDK NuGet package

计算签名为你的作品VB.NET

下面是在C#中的粗糙样品的使用。希望你可以把它翻译成VB:

var cloudStackClient = new Client(csApiUrl, csApiKey, csApiSecret); 

CloudStack.SDK.APIRequest req = new APIRequest("deleteTemplate"); 
req.Parameters.Add("id", id); 
cloudStackClient.SendRequest(req);