通过证书拿到公钥,进行加密解密

Posted 凤雏小呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过证书拿到公钥,进行加密解密相关的知识,希望对你有一定的参考价值。

InputStream is = this.getAssets().open(fileName);//证书读取流

CertificateFactory cf = CertificateFactory.getInstance("X.509");//获取X.509的证书工厂

X509Certificate certificate = (X509Certificate) cf.generateCertificate(is);//获取证书实例

PublicKey publicKey = certificate.getPublicKey();//获取证书公钥

Cipher tcsCipher = Cipher.getInstance(publicKey.getAlgorithm());//通过公钥的加密算法获取加解密实例

    tcsCipher.init(Cipher.ENCRYPT_MODE, publicKey);//通过公钥初始化实例

byte[] encode = Base64.encode("123".getBytes(),Base64.DEFAULT);/* 要加密的字符串进行编码 */
byte[] doFinal = tcsCipher.doFinal(encode);/*加密*/
String tcsEncryptPassword = Base64.encodeToString(doFinal, Base64.DEFAULT);/* 将加密后的字符串进行编码 */

  

  

以上是关于通过证书拿到公钥,进行加密解密的主要内容,如果未能解决你的问题,请参考以下文章

非对称加密和ssh免密登陆验证邮件发送接收网站CA证书验证

HTTPS加密通信原理及数字证书系统

https加密算法

Https协议

Java数字证书原理

SSL证书