code: public static boolean verify(PublicKey publicKey, String signedData, String signature) {
          Signature sig;
          try {
              sig = Signature.getInstance(SIGNATURE_ALGORITHM);
              sig.initVerify(publicKey);
              sig.update(signedData.getBytes());
              if (!sig.verify(Base64.decode(signature))) {
                  Log.e(TAG, "Signature verification failed.");
                  return false;
              }
              return true;
          } catch (NoSuchAlgorithmException e) {
              Log.e(TAG, "NoSuchAlgorithmException.");
          } catch (InvalidKeyException e) {
              Log.e(TAG, "Invalid key specification.");
          } catch (SignatureException e) {
              Log.e(TAG, "Signature exception.");
          } catch (Base64DecoderException e) {
              Log.e(TAG, "Base64 decoding failed.");
          }
          return false;
      }
docs: Verifies that the signature from the server matches the computed
  signature on the data.  Returns true if the data is correctly signed.
  
  @param publicKey public key associated with the developer account
  @param signedData signed data from server
  @param signature server signature
  @return true if the data and signature match