在 JAVA 代码(BouncyCastle 库)中,我们使用私钥创建签名。代码如下。我们的任务是使用 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;
}