I have a NetTalk API Server, it works on my Windows 10 dev machine and I deployed it to a test VM (Windows 10) and that also worked.
The UAT server is an Azure Windows 2019 Server, and I have what I assume is a deployment issue as I can't get my call to NetMakeHMAC to return a result.
My code is:
str.SetValue(CLIP(self.TokenHeader) & '.' & CLIP(self.TokenPayload))
str.SetValue(NetMakeHMAC(str.GetValuePtr(),str.Length(),self.APIClientSecret,net:CALG_SHA_256)) ! <-- This returns empty string in UAT machine
str.Base64Encode(st:NoWrap+st:URLSafe+st:NoPadding)
self.TokenSignature=str.GetValue()
I've checked that all my properties have correct values and I've tested all the values being passed to NetMakeHMAC.
I've also checked that CLANET.DLL, CLARUN.DLL, CLADOS.DLL All match my dev machine and OpenSSL.exe, Msvcr120.dll, Ssleay32.dll, Libssl32.dll and Libeay32.dll are in the EXE folder
I've also used an installer to install OpenSSL (recommendation found elsewhere) and running OpenSSL.exe does not display any errors.
But no matter what I do, NetMakeHMAC returns an empty string on the UAT machine but works on my dev.
Any suggestions? ideas? has anyone seen similar issue?
Gary.