java解析证书取出公钥
import java.io.ByteArrayInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import java.util.Base64;
public class RsaCertUtil {
public static void main(String[] args) throws Exception {
//证书路径
String path = "D:\\aa\\test2.cer";
byte[] bytes = Files.readAllBytes(Paths.get(path));
//是否解base64取决于你的证书,是base64存储还是二进制直接存放的
byte[] decode = Base64.getDecoder().decode(bytes);
//将内容转成流的方式
ByteArrayInputStream bis = new ByteArrayInputStream(decode);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate certificate = cf.generateCertificate(bis);
//取出公钥--这里的公钥是pkcs8的那种结构型--待核实
PublicKey publicKey = certificate.getPublicKey();
System.out.println(publicKey);
}
}
转载大神文章,keytool工具使用