需要的参数:
原文,签名值,证书BASE64Decoder字符串
public Boolean doVerify(String signInfo,String message) throws CertificateException, IOException, NoSuchAlgorithmException, SignatureException, InvalidKeyException{
CertificateFactory cf = CertificateFactory.getInstance("X.509");
BASE64Decoder decoder = new BASE64Decoder();
InputStream certis = new ByteArrayInputStream(decoder.decodeBuffer(base64Cert.trim()));
X509Certificate t = (X509Certificate)cf.generateCertificate(certis);
Signature sign = Signature.getInstance(t.getSigAlgName());
sign.initVerify(t.getPublicKey());
sign.update(message.getBytes());
if(sign.verify(decoder.decodeBuffer(signInfo))){
return true;
}else{
return false;
}
}
原文,签名值,证书BASE64Decoder字符串
public Boolean doVerify(String signInfo,String message) throws CertificateException, IOException, NoSuchAlgorithmException, SignatureException, InvalidKeyException{
CertificateFactory cf = CertificateFactory.getInstance("X.509");
BASE64Decoder decoder = new BASE64Decoder();
InputStream certis = new ByteArrayInputStream(decoder.decodeBuffer(base64Cert.trim()));
X509Certificate t = (X509Certificate)cf.generateCertificate(certis);
Signature sign = Signature.getInstance(t.getSigAlgName());
sign.initVerify(t.getPublicKey());
sign.update(message.getBytes());
if(sign.verify(decoder.decodeBuffer(signInfo))){
return true;
}else{
return false;
}
}