2 new03 new03 于 2016.03.31 19:24 提问

JAVA和IOS对接RSA加密问题

公司开发IOS APP,跟JAVA后台对接。在加密方面,使用的是RSA。在JAVA端生成的公钥和私钥,通过BASE64转成字符串。然后在IOS端,如果直接拿着这个转化的字符串密钥(通过BASE64解密后)去做RSA加密的话,这边JAVA端解密会失败。所以,请问下,在密钥方面应该怎么处理呢?JAVA端生成的密钥怎样处理给到IOS端才会成功?谢谢!

4个回答

CSDNXIAON
CSDNXIAON   2016.03.31 19:32
已采纳

Java和android及iOS对接RSA加密经验
IOS 与JAVA RSA加密解密
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

luochoudan
luochoudan   Ds   Rxr 2016.03.31 19:48

解密失败,你得查下一下原因。思路没问题。JDK不同版本对Base64的处理不一样,需要注意;Http传输中对特殊字符需要转译,也要注意。建议你前后台联调一下,两端分别对同一个明文加密解密,看看得到的结果是否一致。

new03
new03 嗯嗯 多谢
2 年多之前 回复
u012487695
u012487695   2016.08.03 02:37

我只跟你说一句,ios用的证书格式跟你们java不一样,ios要用DER,其他的我已经不想说了。图片说明图片说明图片说明

u012487695
u012487695   2016.08.03 02:42

哦,对了,ios只支持那个好像叫x501的openssl标准。你是用openssl的哪种标准生成的证书,这非常重要。不同的标准,肯定是不能通的。希望对你有帮助。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java和android及iOS对接RSA加密经验
1.网上找的java生成RSA密钥对的例子,产生的字附串实际上是hax后和密钥串 你可以将他们当成静态字附串存在java代码里 2.android和java可以代码复用,IOS对接比较麻烦 3.IOS接RSA时,可以使用.der的公钥文件 4.通过java生成的私钥字附串生成IOS需要的.der公钥步骤如下 a.将私钥字附串反hax得到byte[] b.将byt
iOS和java之间的RSA加密解密、加签认证对接
iOS - java RSA 非对称加密对接
iOS客户端与JAVA服务器之间的RSA加密解密
文章转载自:http://www.cnblogs.com/makemelike/articles/3802518.html  在网上找了许多篇关于RSA加密解密的文章与博客,是很有帮助,但比较零散与不简洁。  (至于RSA的基本原理,大家可以看 阮一峰的网络日志 的 RSA算法原理(一) 和 RSA算法原理(二) )  这篇文章只是做一个整理,帮大家理清一下步骤的而已( 英文版本请看 RSA Enc
java与IOS之间的RSA加解密
转自:http://yuur369.iteye.com/blog/1769395 很简单的一个需求,ipad端给密码RSA加密,传到java后台,解密。RSA加密算法是基于一个密钥对的,分为公钥和私钥,一般情况公钥加密,私钥解密,但也可私钥加密,公钥解密。还可以验签,就是先用私钥对数据进行加密,然后对加密后的数据进行签名,得到一个签名值。然后再用公钥先验签,证明是对应私钥加密过的数据才解
ios 安卓 javaweb RSA加密解密
ios版 ,公钥私钥一键加密解密 @interface RSA : NSObject // return base64 encoded string + (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey; // return raw data + (NSData *)encryptData:(NSD
android RSA和Java RSA加密不一致的坑
最近项目采用RSA进行加密,遇到了坑,记录一下1、BASE64Decoder在Android中是不存在的,需用Base64替换, BASE64Decoder base64Decoder= new BASE64Decoder(); byte[] buffer= base64Decoder.decodeBuffer(privateKeyStr); 替换为: byte[] buffer= Base64.d
ios学习--RSA非对称加密(解决解密后会乱码的问题)
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用,不多说,开始做! 一、使用openssl生成所需秘钥文件   生成环境是在mac系统下,使用openssl进行生成,首先打开终端,按下
RSA加密在java和Android上的不同
先说一下遇到的问题吧,做一个加解密的过程,但是特殊的地方就是在java上加密,到Android上解密,结果就是能解开,但是前面会自动添加一串的乱码,或者说是框框,原因就是RSA算法在java和Android上市有一点区别的,大家不要担心,有解决办法。 首先,java加密是没有问题的,解密的时候我们做一点小小的调整就好了, // 对数据解密              Cipher cipher
rsa非对称加解密,java服务器端对应android、IOS客户端以及javaScript的加解密
很多朋友开发项目时会用到加解密,像MD5、SHA、HMAC、AES、DES、RSA等等算法。不同的加密算法有不同的使用场景。本文只介绍RSA非对称加密,需要了解其他加密算法的朋友可以自行百度一下。 前言 由于网上很多资料基本都是单讲一种环境下的RSA加解密,基本没有介绍在不同客户端环境下的整合。虽然我们可以找不同的资料去探索,但未免会浪费大量时间,特别是不熟悉其他开发语言环境的朋友,弄
iOS与JAVA之间的RSA加解密
RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名. 本文将讨论如何在iOS中使用RSA传输加密数据. 本文环境 mac os openssl-1.0.1j, openssl需要使用1.x版本, 推荐使用[homebrew](http://brew.sh/)安装.Java 8 RSA基本原理 RSA使用"秘匙对"对数据进行加密解