x509证书验签的两种方法,支持国密证书
验签准备
- 待验签的证书adminCert
- adminCert的颁发证书issuerCert
方法一
使用java.security.cert.X509Certificate自带的验签方法
X509Certificate adminCert=genX509Cert(adminCertByte);//获取管理员证书
X509Certificate issuerCert=genX509Cert(issuerCertByte);//获取颁发者证书
PublicKey issuerPublicKey = issuerCert.getPublicKey();//获取颁发者公钥
adminCert.verify(issuerPublicKey);//验签
方法二
从adminCert中获取验签需要的元素
byte[] signature = adminCert.getSignature();//签名值
byte[] plain = adminCert.getTBSCertificate();//签名原文
PublicKey issuerPublicKey = issuerCert.getPublicKey();//颁发者公钥
String sigAlgName = adminCert.getSigAlgName();//签名算法
使用以上元素即可进行验签。具体国密的验签方法可以自己实现。