В JAVA-коде (BouncyCastle lib) мы создаем подпись с использованием закрытого ключа. Код ниже. У нас есть задача получить одну и ту же подпись с помощью PHP — с использованием того же закрытого ключа. Попробуйте использовать PHP-код, например
openssl_sign($plainText, /*&*/$signature, $private_key);
Но подпись, которую мы получаем в PHP, не совпадает с сигнатурой, которую мы получаем в JAVA.
Может быть, у нас проблема, потому что функция openssl_sign () не работает с «MD5withRSA» — может кто-нибудь знает, как решить эту проблему?
protected byte[] sign(PrivateKey privateKey, byte[] plainText) { byte[] signature = null; try { Signature sig = Signature.getInstance("MD5withRSA"); sig.initSign(privateKey); sig.update(plainText); signature = sig.sign(); } catch(Exception ex) { ex.printStackTrace(); } return signature; }