2016-02-29 46 views
0

我在使用Spring的java中有一个web服务,它需要生成一个RSA密钥对并通过这个WS发送公共密钥,这样一个ANDROID和一个iOS应用可以使用这个公钥来读取和加密一个STRING。如何生成可用于Android和iOS的Java中的RSA公钥?

在每个WS请求上,它必须生成一个新的密钥对。

我已经尝试在Java中使用KeyPair类,只有ANDROID应用程序已识别公钥。

我该怎么做?有人可以帮我弄这个吗?

回答

0

经过进一步研究,我发现iOS的secKeyWrapper只能接受ASN.1 DER格式的密钥数据。任何尝试以任何其他格式传递数据的尝试肯定会在iOS上失败。

通过转储PEM格式的RSA密钥解决了该问题,并使用以下方法从link读取PEM并转换为ASN.1 DER格式并将其传递给SecKeyWrapper!

替代方法:问题可能还通过使用OpenSSL库为iOS来解决(参照Generate Public Key From Modulus & Exponent on iOS using OpenSSL),并创建RSA对象与输入模量&指数(base64encoded)数据用于从任何其他平台共享的公共密钥。

0

首选项 - > SSH2 - >密钥管理 - >选择RSA - >在银行空间上移动你的鼠标点,直到产生公钥 - >点击保存私钥(公钥和私钥都将保存在C:/ /用户名/用户名/ .ssh/id_rsa.pub键),这就是所有...。

+0

这不是我所需要的,因为我必须在每个WS请求上创建一个新的密钥对。 – vhbsouza

相关问题