0

単純な問題ですが、USB トークン (epass2003) のロックを解除する方法がわかりません。トークンは完全に正常に機能しますが、c では機能しません。ユーザー タイプを CKU_USER として使用しました。これについて知っている人はいますか?助けてください

4

2 に答える 2

0

PKCS 関数からの戻り値をチェックして、エラーがないかどうかを確認する必要があります。この方法を試してみて、何が起こるか見てください。C_login() からの戻りコードが CKR_PIN_LOCKED の場合、カードのロックを解除する必要があることは明らかです。

CK_RV ret;

ret = C_OpenSession(slot, CKF_SERIAL_SESSION, NULL_PTR, NULL_PTR, &session); 

if (ret  != CKR_OK){
   error_message(ret);
   return;
}

readPIN("Intro PIN: ", pin, 4); 
ret = (f_C_Login)(hSession,CKU_USER, (unsigned char *) pin,strlen(pin));
if (ret != CKR_OK){
   closeSessions(slot);
   error_message(ret);
   return;
} 
于 2013-01-29T10:04:51.720 に答える