从crt证书文件得到公钥_NO3.openssl生成证书,测试证书的公钥加密私钥解密

一、取公钥,例子中server.crt放在D盘根路径下

//获得给定格式的证书工厂

CertificateFactory cf = CertificateFactory.getInstance("X.509");

//读取证书的输入流

FileInputStream fis = new FileInputStream("D:/server.crt");

//获取证书对象

Certificate cert = cf.generateCertificate(fis);

//关闭输入流

fis.close();

//获取公钥

PublicKey publicKey = cert.getPublicKey();

二、获取私钥

1.直接读取server.key文件会报错:

java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence

需要把server.key文件转换为PKCS8格式:

命令:

openssl pkcs8 -topk8 -nocrypt -in server.key -out myrsakey_pcks8

生成一个PKCS8格式的秘钥myrsakey_pcks8

myrsakey_pcks8的内容:

-----BEGIN PRIVATE KEY-----

MIICXQIBAAKBgQDB49bqrPV4BEmoWmBsLy/JNVbWC1Rz/tkKAjvszeE+8cQwxmYQ

oJMKX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值