public int Decrypt(MobilpayDecrypt mobilpayDecrypt)
 {
     try
     {
         StreamReader streamReader = File.OpenText(mobilpayDecrypt.PrivateKeyFilePath);
         string       sPrivKey     = streamReader.ReadToEnd().Trim();
         streamReader.Close();
         RSACryptoServiceProvider decodedPrivKeyInfo = opensslkey.GetDecodedPrivKeyInfo(sPrivKey);
         byte[] rgb   = Convert.FromBase64String(mobilpayDecrypt.EnvelopeKey);
         byte[] bytes = Convert.FromBase64String(mobilpayDecrypt.Data);
         try
         {
             byte[] key = decodedPrivKeyInfo.Decrypt(rgb, false);
             this.RC4(ref bytes, key);
             mobilpayDecrypt.DecryptedData = Encoding.ASCII.GetString(bytes);
         }
         catch (CryptographicException ex)
         {
             throw ex;
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return(0);
 }
 public Mobilpay_Payment_Request_Card BuildCardDecrypt(
     MobilpayDecrypt mobilpayDecrypt)
 {
     try
     {
         Mobilpay_Payment_Request_Card paymentRequestCard = new Mobilpay_Payment_Request_Card();
         if (Decrypt(mobilpayDecrypt) == 0)
         {
             return(this.GetCard(mobilpayDecrypt.DecryptedData));
         }
         Exception exception = new Exception("0x300000f3");
         return((Mobilpay_Payment_Request_Card)null);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }