Расшифровка RSA с открытым ключом

У меня возникли проблемы с расшифровкой в моем проекте Android.

Я получаю строку, подписанную с помощью закрытого ключа, и мне нужно проверить (расшифровать) ее с помощью открытого ключа. Я хотел бы получить точно такой же результат, как если бы я использовал функцию PHP - openssl_public_decrypt (http://php.net/manual/pl/function.openssl-public-decrypt.php )

Я должен сделать это в своем проекте Java, чтобы я мог использовать библиотеки Java (например, BouncyCastle или что-то еще, какие-либо рекомендации?)

Есть идеи как решить это?

Хорошо, вот мой код. Я получаю такой открытый ключ

PEMReader reader = new PEMReader(new InputStreamReader(ctx
                .getAssets().open("pubkey.pem")));
        Object obj;
        while ((obj = reader.readObject()) != null) {
             if (obj instanceof RSAPublicKey) {
                pubKey = (RSAPublicKey) obj;
                return pubKey;
            }
        }

И я всегда получаю открытый ключ без проблем.

Cipher c = Cipher.getInstance("RSA/NONE/NoPadding", "SC");
c.init(Cipher.DECRYPT_MODE, pubKey);
byte[] result = c.doFinal(data_to_decrypt.getBytes());

И в результате (после преобразования байтов в строку) я получаю022c06571c6a263b389fcd93159cb311abb880bddf51b7c916dd1ae...

где PHP-функции возвращает sd8dsa348acvcx87|00454|OK|15000|CDE и это правильный вывод.