void ShowResult(string StatusMsg, AppleVasData DataMsg, bool CleanData)
        {
            if (InvokeRequired)
            {
                this.BeginInvoke(new ShowResultInvoker(ShowResult), StatusMsg, DataMsg, CleanData);
                return;
            }

            if (StatusMsg != null)
            {
                toolStripStatusLabel1.Text = StatusMsg;
            }

            if (DataMsg != null)
            {
                ePassMessage.Text   = DataMsg.Text;
                ePassTimestamp.Text = DataMsg.Timestamp.ToString();
                if (DataMsg.IsTimestampAllowed())
                {
                    imgCross.Visible           = false;
                    imgCheck.Visible           = true;
                    toolStripStatusLabel1.Text = "Message is OK";
                }
                else
                {
                    imgCheck.Visible           = false;
                    imgCross.Visible           = true;
                    toolStripStatusLabel1.Text = "Message is OK but clock screw detected";
                }
            }
            else if (CleanData)
            {
                imgCheck.Visible = false;
                imgCross.Visible = false;
            }
        }
Esempio n. 2
0
        int Run(string[] args)
        {
            if (!ParseArgs(args))
            {
                return(1);
            }

            if (!AppleVasLicense.AutoLoad())
            {
                Logger.Info("No license file");
            }

            if (MerchantName != null)
            {
                Logger.Debug("Translating the merchant name");

                MerchantID = AppleVasConfig.ComputeId(MerchantName);
                if (!Quiet)
                {
                    Console.WriteLine("Merchant ID={0}", StrUtils.Base64UrlEncode(MerchantID));
                }
            }

            AppleVasConfig config = new AppleVasConfig(MerchantID);

            config.AddPrivateKey(PrivateKey);

            AppleVasData OutputMessage = AppleVasData.Create(config, InputMessage, out AppleVasError error);

            if (OutputMessage == null)
            {
                OutputError("Failed to extract VAS message", error);
                return(2);
            }

            if (Json)
            {
                Console.WriteLine("{");
                OutputField("result", error.ToString());
            }

            if (OutputText > 0)
            {
                OutputField("nfcMessage", OutputMessage.Text);
            }
            if (OutputHex > 0)
            {
                OutputField("nfcMessage", OutputMessage.HexBytes);
            }
            if (OutputBase64 > 0)
            {
                OutputField("nfcMessage", OutputMessage.Base64Bytes);
            }
            OutputField("nfcTimestamp", OutputMessage.Timestamp.ToString("yyyy-MM-ddTHH:mm:ssZ"), true);

            if (Json)
            {
                Console.WriteLine("}");
            }

            return(0);
        }