Descriptografia RSA com uma chave pública

Eu tenho alguns problemas de descriptografia no meu projeto Android.

Estou recebendo uma string assinada com uma chave privada e tenho que verificar (descriptografá-la) com uma chave pública. Eu gostaria de obter exatamente o mesmo resultado como se eu estivesse usando uma função PHP - openssl_public_decrypt (http://php.net/manual/pl/function.openssl-public-decrypt.php )

Eu tenho que fazer isso no meu projeto Java, então eu posso usar bibliotecas Java (por exemplo, BouncyCastle, ou alguma outra coisa, alguma recomendação?)

Alguma idéia de como resolver isso?

Ok, aqui está meu código. Estou recebendo a chave pública assim

<code>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;
            }
        }
</code>

E eu sempre recebo a chave pública sem problemas.

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

E como resultado (depois de converter bytes em string) eu recebo022c06571c6a263b389fcd93159cb311abb880bddf51b7c916dd1ae...

onde as funções do php retornamsd8dsa348acvcx87|00454|OK|15000|CDE e esta é uma saída correta.

questionAnswers(1)

yourAnswerToTheQuestion