【发布时间】:2016-04-20 05:28:24
【问题描述】:
我正在尝试获取代表字符串中签名的字节[],但不断收到“java.security.SignatureException: invalid encoding for signature”
我要做的是发送一个签名字符串并在服务器上验证它,这是我的代码:
这是我签署我的字符串以通过 Web 服务发送它的地方:
Signature signer = Signature.getInstance("DSA");
signer.initSign(signerKey);
signer.update(someString)
byte[] signature = signer.sign();
newToken = someString + Base64.getEncoder().encodeToString(signature);
这里是获取字符串并用它验证整个事情的服务器端代码:
byte [] sig = Base64.getDecoder().decode(stringSignature);
Signature verifier = Signature.getInstance("DSA");
verifier.initVerify(verifierPubKey);
verifier.update(token);
verified = verifier.verify(signature);
那么,从实际代表我要验证的签名的字符串中获取签名的最佳方法是什么?
谢谢。
【问题讨论】:
标签: java security base64 primary-key sign