@Override
 public void verifyPin(final PasswordCallback pinPc)
     throws ApduConnectionException, BadPinException {
   if (pinPc == null) {
     throw new BadPinException("No se ha establecido un PasswordCallback"); // $NON-NLS-1$
   }
   final CommandApdu chv = new CeresVerifyApduCommand(CLA, pinPc);
   final ResponseApdu verifyResponse = sendArbitraryApdu(chv);
   if (!verifyResponse.isOk()) {
     if (verifyResponse.getStatusWord().getMsb() == ERROR_PIN_SW1) {
       throw new BadPinException(verifyResponse.getStatusWord().getLsb() - (byte) 0xC0);
     }
     throw new ApduConnectionException(
         "Error en el envio de la verificacion de PIN con respuesta: "
             + verifyResponse.getStatusWord() // $NON-NLS-1$
         );
   }
 }