PHP 生成签名方法为:openssl_sign($paramStr, $sign, $_privateKey,OPENSSL_ALGO_DSS1);
JAVA 验签的部分代码是:
Signature signet = Signature.getInstance("SHA1withDSA");
byte[] publicKeyCode = pubkey.getBytes();
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyCode);
KeyFactory keyFactory = KeyFactory.getInstance("DSA");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
signet.initVerify(publicKey);
signet.update(content.getBytes("utf-8"));
// 公匙验证结果
boolean result = signet.verify(sign);
但是 JAVA 那边验签不通过。
PHP 的生成签名方法 openssl_sign 最后一个$signature_alg 变量试过 OPENSSL_ALGO_DSS1 和 DSA,都不行。
请问有人我遇到这种情况吗