Я не могу сделать аутентифицированный вызов для Cybersource API и Apitest, даже если моя подпрограмма подписи способна генерировать правильную подпись на их тестовой странице.
Я пробовал разные комбинации заголовков, верхний и верхнийстрочные буквы и дата против имен полей vc-date.
Я создал сигнатуру из следующих компонентов заголовков.
'VB, Signature Construction
Dim pHost As String = "host: apitest.cybersource.com"
Dim pMerc As String = "v-c-merchant-id: testmid"
Dim pDate As String = "v-c-date: " & Now.ToUniversalTime.ToString("r")
Dim pReq As String = "(request-target): get /reporting/v3/report-downloads?organizationId=testmid&reportDate=2018-10-27&reportName=Demo_Report"
Dim pHeader As String = pHost & Chr(10) & pDate & Chr(10) & pReq & Chr(10) & pMerc
Dim kID As String = "{secret key}"
Dim mSig As String = GenerateSignatureFromParams(pHeader, kID)
Dim pSig As String = "signature: keyid=""{key id}"", algorithm=""HmacSHA256"", headers=""host v-c-date (request-target) v-c-merchant-id"", signature=""" & mSig & """"
При добавлении хоста vc-merchant-id, vc-дата и подпись к заголовку запроса для GET, я получил ответ (401) неавторизованным.