SD_Pin(...) returns resultcode 1 (ACM_ACCESS_DENIED)
Calling API function SD_Pin() when not in new PIN mode is invalid and returns ACM_ACCESS_DENIED. In the code segment below, the call "SD_Pin(SdiHandle, "") is equivalent to AceCancelPin() and aborts the new pin processing:
int iRes;
iRes = SD_Pin(SdiHandle,sNewPin); //invalid PIN
if( iRes!= ACM_NEW_PIN_ACCEPTED)
{
SD_Pin(SdiHandle, ""); //ABORTS new pin processing!!
//.. User prompted for new pin, user enters valid pin
iRes= SD_Pin(SdiHandle , sNewPin );
// return value unexpectedly = ACM_ACCESS_DENIED
}
To correct this issue, remove the SD_Pin(SdiHandle, "") call as shown below:
int iRes;
iRes = SD_Pin(SdiHandle,sNewPin); //invalid PIN
if( iRes!= ACM_NEW_PIN_ACCEPTED)
{
//.. User prompted for change pin, user enters valid pin
iRes= SD_Pin(SdiHandle , sNewPin );
// return value reflects valid attempt to set the PIN
}
Related Articles
System.OutOfMemoryException: Insufficient memory to continue the execution of the program. 26Number of Views Foreign Unicode Characters Not Displaying in UI and Database in RSA Identity Governance and Lifecycle 7Number of Views RSA Identity Governance & Lifecycle Entitlements Data Collector (EDC) failure EC[31002] 112Number of Views Error message "Error: java.lang.IllegalArgumentException: Window boundary must be positive" in the RSA SecurID Authenticat… 120Number of Views Anomalix idGenius - RSA Ready Implementation Guide 13Number of Views