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