Esempio n. 1
0
        }                                // result


        public override ResultStatus Execute(Cloud47x0 cloud47x0)
        {
            const double timeout = 1; // seconds

            try
            {
                ResultStatus = ResultStatus.ERROR; // Assume the worst
                byte[] uidBytes = Convert.FromBase64String(Uid);
                string uidHex   = Util.ByteArrayToHexString(uidBytes);

                if (cloud47x0.WaitForCard(timeout))
                {
                    if (cloud47x0.ConnectCard() && uidHex == cloud47x0.CardUID)
                    {
                        Sak          = cloud47x0.CardSAK;
                        Atqa         = "04";
                        ResultStatus = ResultStatus.OK;
                    }
                }
            }
            catch
            {
                ResultStatus = ResultStatus.ERROR;
            }
            return(ResultStatus);
        }
Esempio n. 2
0
        public override ResultStatus Execute(Cloud47x0 cloud47x0)
        {
            try
            {
                //if (KeyData == "QvzVmm9D")
                //    KeyData = "MxpY8AME";

                ResultStatus = ResultStatus.ERROR; // Assume the worst
                if (cloud47x0.CardStillPresent())
                {
                    byte[] keyBytes = Convert.FromBase64String(KeyData);
                    if ("A".Equals(Key))
                    {
                        if (cloud47x0.MifareLoadKey(Cloud47x0.MifareKey.A, keyBytes) &&
                            cloud47x0.MifareAuthenticate(Cloud47x0.MifareKey.A, Sector))
                        {
                            ResultStatus = ResultStatus.OK;
                        }
                    }
                    else if ("B".Equals(Key))
                    {
                        if (cloud47x0.MifareLoadKey(Cloud47x0.MifareKey.B, keyBytes) &&
                            cloud47x0.MifareAuthenticate(Cloud47x0.MifareKey.B, Sector))
                        {
                            ResultStatus = ResultStatus.OK;
                        }
                    }
                }
            }
            catch
            {
                ResultStatus = ResultStatus.ERROR;
            }
            return(ResultStatus);
        }
Esempio n. 3
0
 public override ResultStatus Execute(Cloud47x0 cloud47x0)
 {
     try
     {
         ResultStatus = ResultStatus.ERROR; // Assume the worst
         if (cloud47x0.CardStillPresent())
         {
             byte[] dataBytes = new byte[Length * BLOCK_SIZE];
             for (int n = 0; n < Length; n++)
             {
                 byte[] blockBytes = cloud47x0.MifareReadBlock(Block + n);
                 Array.Copy(blockBytes, 0, dataBytes, n * BLOCK_SIZE, BLOCK_SIZE);
             }
             Data         = Convert.ToBase64String(dataBytes);
             ResultStatus = ResultStatus.OK;
         }
     }
     catch
     {
         ResultStatus = ResultStatus.ERROR;
     }
     return(ResultStatus);
 }
Esempio n. 4
0
 public override ResultStatus Execute(Cloud47x0 cloud47x0)
 {
     try
     {
         ResultStatus = ResultStatus.ERROR; // Assume the worst
         if (cloud47x0.CardStillPresent())
         {
             byte[] dataBytes  = Convert.FromBase64String(Data);
             byte[] blockBytes = new byte[BLOCK_SIZE];
             for (int n = 0; n < Length; n++)
             {
                 Array.Copy(dataBytes, n * BLOCK_SIZE, blockBytes, 0, BLOCK_SIZE);
                 cloud47x0.MifareWriteBlock(Block + n, blockBytes);
             }
             ResultStatus = ResultStatus.OK;
         }
     }
     catch
     {
         ResultStatus = ResultStatus.ERROR;
     }
     return(ResultStatus);
 }
Esempio n. 5
0
        static SmartCardApi()
        {
            var readerRegex = "CLOUD 47.0.*Contactless";

            _cloud47x0 = Cloud47x0.GetReader(readerRegex);
        }
Esempio n. 6
0
 public abstract ResultStatus Execute(Cloud47x0 cloud47x0);