private PINBlock LoadPinBlockFromString(string pinAsString) { PINBlock result = default; LogActionStart($"Loading PIN '{pinAsString}': "); try { result = new PlaintextPINBlock { ClearPIN = pinAsString.FromBcd() }; LogSuccess(); } catch (Exception exception) { LogException(exception); } return(result); }
private void guiDoVerifyCardholder_Click(object sender, EventArgs e) { var cvRule = (CardholderVerificationMethodList.CvRule)guiCVMList.SelectedItem; PINBlock pinBlock; if (cvRule.CvmCode == CardholderVerificationMethodList.CvmCode.PlaintextPinIcc || cvRule.CvmCode == CardholderVerificationMethodList.CvmCode.PlaintextPinIccAndSign) { if (guiPINEntry.Enabled) { pinBlock = new PlaintextPINBlock(); pinBlock.ClearPIN = guiPINEntry.Text.FromBcd((UInt32)guiPINEntry.Text.Length); _emv.VerifyPin(pinBlock); } else { MessageBox.Show("A PIN must be keyed in.", "PIN required", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show("Unsupported cardholder verfication method.", "Unsupported CVM", MessageBoxButtons.OK, MessageBoxIcon.Information); } }