I have a c# dll registered in regasm.exe and I am trying to call it on my classic asp application below is my code part:
I am sending a dictionary object as parameter to the function
Dim parameters
Set parameters=Server.CreateObject("Scripting.Dictionary")
For Each Item1 In Request.Form
fieldName = Item1
fieldValue = Request.Form(Item1)
parameters.Add fieldName, fieldValue
Next
Here is where I am calling the function
Set CudExternal=Server.Createobject("CudExternal.Security")
Set signature = CudExternal.sign(parameters)
When I try to call the function I am getting this error.
Below is my dll code:
public class Security
{
private const String SECRET_KEY = "dd6b7d26fb0c4db7891b28718a1a468";
public string sign(IDictionary<string, string> paramsArray)
{
return sign(buildDataToSign(paramsArray), SECRET_KEY);
}
private string sign(String data, String secretKey)
{
UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] keyByte = encoding.GetBytes(secretKey);
HMACSHA256 hmacsha256 = new HMACSHA256(keyByte);
byte[] messageBytes = encoding.GetBytes(data);
return Convert.ToBase64String(hmacsha256.ComputeHash(messageBytes));
}
private string buildDataToSign(IDictionary<string, string> paramsArray)
{
String[] signedFieldNames = paramsArray["signed_field_names"].Split(',');
IList<string> dataToSign = new List<string>();
foreach (String signedFieldName in signedFieldNames)
{
dataToSign.Add(signedFieldName + "=" + paramsArray[signedFieldName]);
}
return commaSeparate(dataToSign);
}
private string commaSeparate(IList<string> dataToSign)
{
return String.Join(",", dataToSign);
}
public string outputr(string data)
{
return data;
}
}
How can I Resolve??...Thanks in Advance.