java解析证书取出公钥

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工具使用

https://www.cnblogs.com/xdp-gacl/p/3750965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值