程序跟后端通信的HTTP请求,是被加密的。后端设计了一套加密流程。其中有一步骤RSA加密,我加密的数据,后端就是解密不出来。各种查询加苦思冥想,终于找到了问题。后端给我的公钥是PEM格式 ,例如:
----- BEGIN PUBLIC KEY-----
XXXXXXXX AQAB
----- END PUBLIC KEY -----
而我的.Net 库的提供的方法需要传的是XML格式:
XXXXXXXX
AQAB
因为结尾都有AQAB,我就想当然的把中间的 PEM中间的密钥部分复制到 XML格式里面了。导致后端怎么都解析不出来。原来XML和PEM格式转换不是这么简单的,可以去百度上搜索“在线PEM转XML”,有一些转换网站。转换后的RSA公钥,我再去用来加密,后端就可以解析出来了 --
PEM是最常用的RSA公钥格式,后端没做过.NET,所以后端也不知道RSA公钥分 PEM 和 XML 。