getChallenge method
Sends GET CHALLENGE command to ICC and ICC should return
challengeLength long challenge.
Can throw ICCError or ComProviderError.
Implementation
Future<Uint8List> getChallenge(
{required int challengeLength, int cla = ISO7816_CLA.NO_SM}) async {
final rapdu = await _transceive(CommandAPDU(
cla: cla,
ins: ISO7816_INS.GET_CHALLENGE,
p1: 0x00,
p2: 0x00,
ne: challengeLength));
if (rapdu.status != StatusWord.success) {
throw ICCError("Get challenge failed", rapdu.status, rapdu.data);
}
return rapdu.data!;
}