使用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
传递。