Java 第三方RSA公钥加密 异常(not a sequence)_第三方获取公钥结果异常_yangxs_cn的博客-程序员秘密

技术标签: Java  rsa  java  加密  

第三方公钥文件.pem 
公钥:
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBALfuBySGu7R41NpDSfJIB91RFnX4F5o1QVplszJKUeD9DXkLfdmsR9pM
66MhfnAaV51RJ2LHDgn8PiTtkCyXYRcRZOWqo+faTD73/LLb+UDpqkrhKAmrm0bd
zhbvLhIMWgd+qcnzblnW6BUyXpweoguMGmriOFL+gbczNiPDWPE/AgMBAAE=
-----END RSA PUBLIC KEY-----

pubkeyBuf:第三方公钥转码,Base64.decode(pubkey);  

private byte[] getEncSymmKey(byte[] pubkeyBuf, byte[] randomKey) throws Exception {
        X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(pubkeyBuf);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        Key publicKey = keyFactory.generatePublic(pubKeySpec);
        
        // 对数据加密  
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);

        return cipher.doFinal(randomKey);
    } 

始终出现异常:java.security.InvalidKeyException: IOException: algid parse error, not a sequence
此公钥字节数和有的公钥字节数不同:此公钥为192字节,Base64转码后,byte 140字节

不出现异常公钥
-----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChDzcjw/rWgFwnxunbKp7/4e8w
/UmXx2jk6qEEn69t6N2R1i/LmcyDT1xr/T2AHGOiXNQ5V8W4iCaaeNawi7aJaRht
Vx1uOH/2U378fscEESEG8XDqll0GCfB1/TjKI2aitVSzXOtRs8kYgGU78f7VmDNg
XIlk3gdhnzh+uoEQywIDAQAB
-----END RSA PUBLIC KEY-----
不出异常的公钥为222字节,Base64转码后,byte 162字节就无异常

不止如何用最上面的第三方公钥进行RSA加密才不出现异常?
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yangxs_cn/article/details/23819481

智能推荐

Swift面试收集整理(仅供参考学习使用)_翀鹰精灵的博客-程序员秘密

1.Swift和Objective-C的联系Swift与Objective-C共用同一套运行时环境我们编写程序,让程序运行起来,被机器执行的代码并非全部是由我们自己来编写的。需要同时运行很多预先写好的支持性的代码,才能让我们自己的代码运行起来。Swift跟Objective-C编译出的程序代码运行在同一套运行环境上面。Swift的类型可以桥接到Objective-C的类型...

Generative Adversarial Networks[论文合集]_gdtop818的博客-程序员秘密

https://handong1587.github.io/deep_learning/2015/10/09/gan.htmlJump to... 1.Image-to-Image Translation 1.Pix2Pix 2.Projects 3.Blogs 4.Talks / Videos 5.Resou...

挂载nfs失败的原因_nfs挂载不上_暴走的阿布的博客-程序员秘密

1. 配置文件不正确vim /etc/exports配置文件如图:此处掩码一定要写,如果发现配置文件有错误修改了,一定要重新加载nfs配置文件(被坑了好久),重启命令:exportfs -avr #不重启加载NFS配置文件2. 没关闭防火墙关闭Firewalld防火墙systemctl disable firewalldsystemctl stop firewalld关闭selinux防火墙sed -ri '#^SELINUX=#cSELINUX=..

OrCAD Capture 使用_风一样的灬灬的博客-程序员秘密

OrCAD Capture 使用基础OrCAD Capture 与 OrCAD Capture CIS相比较知识少了数据库条用和管理方面的功能。1.1 OrCAD Capture 使用基础1.1.1新建Project工程文件    Analog or Mixed A/D: 数模混合仿真工程设计;    PC Board Wizard : 印刷版的工程设计;    Programmable Logi...

大数据计算引擎,你 pick 哪个?_csdn人工智能头条的博客-程序员秘密

不知道你是否有过和我类似的经历?我是 2018 年 6 月加入公司,一直负责监控平台的告警系统。之后,我们的整个监控平台架构中途换过两次,其中一次架构发生了巨大的变化。我...

[C++11]std::packaged_task介绍及使用_pkg sttask sttask 图_godmaycry的博客-程序员秘密

一、std::packaged_task简介在上一篇,我们介绍了std::promise的使用方法,其实std::packaged_task和std::promise非常相似,简单来说std::packaged_task是对std::promise>中T= std::function这一可调对象(如函数、lambda表达式等)进行了包装,简化了使用方法。并将这一可调对象的返回结果传递给关联的s

随便推点

Papers_好大一颗葱的博客-程序员秘密

Ensemble prediction and intercomparison analysis of GRACE time-variable gravity field modelsdoi: 10.1002/2013GL058632

中国股市大幅下挫,沪指新高后引发获利回吐_cishan3804的博客-程序员秘密

中国股市周三大幅下挫,原因是围绕公司业绩的担忧情绪引起了投资者的关注,致使蓝筹股在尾盘时段遭遇获利回吐。基准上证综合指数收盘跌2.9%,至2461.35点。股指盘中在2449.90点-2579.22点的宽幅区间内波动。 深证综合...

HALCON: 本地程序函数(.hdev或.dev)、HDevelop函数文件或外部函数(.hdvp)及库函数(.hdpl)使用详解_halcon导入外部函数_机器视觉001的博客-程序员秘密

以Halcon17版本为例,其对算子的打包方式分为以下三种:本地程序函数,后缀名:.hdev或.dev HDevelop函数文件,后缀名:.hdvp 库函数,后缀名:.hdpl本地程序函数将可以实现某一个功能的一系列算子打包成一个函数,其作用域只是当前程序,不可被其它程序使用,该函数称为本地程序函数。当程序过于庞大时,通过将各个功能模块打包成本地函数的方式,可以使算法逻辑更加清晰。其打包方式为:选中所有要打包的算子——单击鼠标右键,选择“创建新函数”——“类型”一栏,选择“本地程序函数”—

Error during WebSocket handshake_Chandler and Monica的博客-程序员秘密

情景开发公司的websocket会话,本地tomcat8.5跑的没有问题,但是经理部署的时候用的是tomcat7。于是悲剧就发生了,显示连接已经建立了,但是就是握手失败。 我再本地用tomcat7跑,浏览器提示报错如下:chat.js:17 WebSocket connection to ‘ws://192.168.1.16:8080/socketChatServer/ws’ failed: Error during WebSocket handshake: Unexpected response co

Leetcode 334. 递增的三元子序列(Increasing Triplet Subsequence)_就叫昵称吧的博客-程序员秘密

Leetcode 334. 递增的三元子序列1 题目描述(Leetcode题目链接)  给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的i,j,ki, j, ki,j,k, 且满足 0≤i<j<k≤n−10 ≤ i < j < k ≤ n-10≤i<j<k≤n−1,使得 arr[i]<arr[j...

web应用插件化_gnicky的博客-程序员秘密

wordpress这种在php上提供插件框架的产品,其插件化都比较“高内聚”。 其才后台管理中有插件生命周期管理的功能,就是可以安装插件、配置插件、禁用、删除插件等。怎么?不削一顾? 我跟你们说JavaWeb开发中,你要弄一个比较完善的插件化框架非常困难!! JavaWeb开发者习惯把“业务”功能都写在Action往下的层次,并用spring集成。你们要知道,一旦写在servlet以下的层次一般来

推荐文章

热门文章

相关标签