【发布时间】:2014-09-30 09:19:03
【问题描述】:
我有两个 x509 证书
X509Certificate a;
X509Certificate b;
我想用 a 的公钥验证 b 的签名,其中 a 是 b 的颁发者。
到目前为止我所拥有的是:
public static boolean verify(String algorithm, byte[] content, byte[] signature, X509Certificate certificate) {
try {
Signature s = Signature.getInstance(algorithm, PROVIDER);
s.initVerify(certificate);
s.update(content);
return s.verify(signature);
} catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) {
throw new IllegalArgumentException(e);
}
}
我调用方法:
verify(a.getSigAlgName(), a.getSignature(), b.getSignature(), b);
但这总是返回错误???
请您帮我理解一下上述方法 vertify(..) 总是返回 false 的原因。
编辑:
X509Certificate 有一个方法 verify(Public key)。
【问题讨论】:
标签: java encryption certificate x509certificate x509