使用PHP实现SHA1withDSA签名是否成功?失败报告here

PKCS8EncodedKeySpec prvSpec = new PKCS8EncodedKeySpec(prvKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("DSA");
PrivateKey prvKey = keyFactory.generatePrivate(prvSpec);
Signature sig = Signature.getInstance("SHA1withDSA");
sig.initSign(prvKey);
sig.update(text);
byte[] result = sig.sign();

最佳答案

您在使用PHP OpenSSL扩展名。

具体来说,用openssl_pkey_get_private()加载私钥,并用openssl_sign()创建签名,并将OPENSSL_ALGO_DSS1作为$signature_alg传递。

10-05 20:30