@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$ ); } }