Odszyfrowywanie RSA za pomocą klucza publicznego

Mam problemy z deszyfrowaniem w moim projekcie na Androida.

Dostaję ciąg podpisany kluczem prywatnym i muszę go zweryfikować (odszyfrować) kluczem publicznym. Chciałbym uzyskać dokładnie taki sam wynik, jak w przypadku korzystania z funkcji PHP - openssl_public_decrypt (http://php.net/manual/pl/function.openssl-public-decrypt.php )

Muszę to zrobić w moim projekcie Java, więc mogę korzystać z bibliotek Java (np. BouncyCastle, lub coś innego, jakieś zalecenia?)

Jakieś pomysły, jak to rozwiązać?

Ok, oto mój kod. Dostaję taki klucz publiczny

<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>

I zawsze dostaję klucz publiczny bez żadnych problemów.

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

W rezultacie (po konwersji bajtów na ciąg) otrzymuję022c06571c6a263b389fcd93159cb311abb880bddf51b7c916dd1ae...

gdzie zwraca funkcje phpsd8dsa348acvcx87|00454|OK|15000|CDE i to jest poprawne wyjście.

questionAnswers(1)

yourAnswerToTheQuestion