GetRoamingCredential

GetRoamingCredential (cardString) returns the PIN camouflaged card string (De-camouflage CARD string with device locking key and return PIN camouflaged card string).
aa821test
Description
GetRoamingCredential (cardString) returns the PIN camouflaged card string (De-camouflage CARD string with device locking key and return PIN camouflaged card string).
This API returns the card string camouflaged with user PIN so that application can upload it back to the server to support user roaming flow. To support roaming flow, IDeviceLocker instance has to be set using SetDeviceLocker API. If IDeviceLocker instance is not set then this API returns card string UDK keys as roaming keys.
API Signature
CAMOBILEOTPCRYPTOSDK_API SDK_STATUS GetRoamingKeys(std::string& cardString, std::string& roamingKeys)throw();
Parameters
cardString [in/out]
Pin camouflaged card string fetched from persistent storage. Application should store updated card string in persistent storage.
roamingKeys [out]
Roaming keys which application can upload to server as a roaming request. For example, HOTP/TOTP roaming keys <keys><key1>camouflagedKey</key1></keys>
Return Values
Return Value
Inference
SDKSTATUS_BADPARAM
CardString is empty
SDKSTATUS_ERROR_INVALID_CARDSTRING
CardString is corrupt or invalid
SDKSTATUS_NO_DEVICE_LOCKER
IDeviceLocker instance is not is not set using SetDeviceLocker()
SDKSTATUS_ERROR_INVALID_CARDTYPE
Card type is not one of HOTP/TOTP/EMV
SDKSTATUS_INTERNAL_ERROR
Unable to retrieve device unlocked keys
Remarks
Any special case for APIs input parameter or return values or special.