Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }