读书人

数字签名认证判断信息是不是早篡改

发布时间: 2012-08-28 12:37:01 作者: rapoo

数字签名认证,判断信息是否早篡改
需要的参数:
原文,签名值,证书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;
}

}

读书人网 >编程

热点推荐