【转】获取证书公钥

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);
 
        //取出公钥
        PublicKey publicKey = certificate.getPublicKey();
        System.out.println(publicKey);
 
    }
}

 

posted @ 2021-01-29 15:23  一二三亖无  阅读(550)  评论(0)    收藏  举报