Billing.Security.Verify C# (CSharp) Метод

Verify() публичный статический Метод

Verifies that the signature from the server matches the computed signature on the data. Returns true if the data is correctly signed.
public static Verify ( IPublicKey publicKey, string signedData, string signature ) : bool
publicKey IPublicKey public key associated with the developer account
signedData string signed data from server
signature string server signature
Результат bool
        public static bool Verify(IPublicKey publicKey, string signedData, string signature)
        {
            if (Consts.DEBUG)
            {
                Log.Info(TAG, "signature: " + signature);
            }
            Signature sig;
            try
            {
                sig = Signature.GetInstance(SIGNATURE_ALGORITHM);
                sig.InitVerify(publicKey);
                sig.Update(Encoding.UTF8.GetBytes(signedData));
                if (!sig.Verify(Convert.FromBase64String(signature)))
                {
                    Log.Error(TAG, "Signature verification failed.");
                    return false;
                }
                return true;
            }
            catch (NoSuchAlgorithmException e)
            {
                Log.Error(TAG, "NoSuchAlgorithmException.");
            }
            catch (InvalidKeyException e)
            {
                Log.Error(TAG, "Invalid key specification.");
            }
            catch (SignatureException e)
            {
                Log.Error(TAG, "Signature exception.");
            }
            catch (FormatException e)
            {
                Log.Error(TAG, "Base64 decoding failed.");
            }
            return false;
        }