真的希望有人可以在这里帮助我。我在 vb.net 中做了一个小程序,它将与我最近部署的 Cloudstack 交互。
目前它拒绝我的 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 编码位,因为我不确定如何执行此操作。
任何帮助都会得到帮助。
多谢你们!