public boolean verifyMessageSignature(String message, PublicKey publicKey) {

        // extract the type and signature parameters
        Map<String, String> parsed = parseJSON(message);

        return verifySignature(parsed, publicKey);
    }
Validates the signature on a Simple Notification Service message. No
Amazon-specific dependencies, just plain Java crypto and Jackson for
parsing

@param message
           A JSON-encoded Simple Notification Service message. Note: the
           JSON may be only one level deep.
@param publicKey
           The Simple Notification Service public key, exactly as you'd
           see it when retrieved from the cert.

@return True if the message was correctly validated, otherwise false.
aws-java-sdk-sns/src/main/java/com/amazonaws/services/sns/util/SignatureChecker.java