Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以Java生成可在Android和iOS上使用的RSA公钥?_Java_Android_Ios_Encryption_Rsa - Fatal编程技术网

如何以Java生成可在Android和iOS上使用的RSA公钥?

如何以Java生成可在Android和iOS上使用的RSA公钥?,java,android,ios,encryption,rsa,Java,Android,Ios,Encryption,Rsa,我有一个使用Spring的java Web服务,它需要生成一个RSA密钥对并通过这个WS发送公钥,这样ANDROID和iOS应用程序就可以使用这个公钥读取和加密字符串 在每个WS-request上,它必须生成一个新的密钥对 我尝试在Java中使用KeyPair类,但只有ANDROID应用程序能够识别公钥 我该怎么做?有人能帮我吗 进一步研究后,我发现iOS的secKeyWrapper只能接受ASN.1 DER格式的密钥数据。任何以任何其他格式传递数据的尝试都肯定会在iOS上失败 通过将RSA密钥

我有一个使用Spring的java Web服务,它需要生成一个RSA密钥对并通过这个WS发送公钥,这样ANDROID和iOS应用程序就可以使用这个公钥读取和加密字符串

在每个WS-request上,它必须生成一个新的密钥对

我尝试在Java中使用KeyPair类,但只有ANDROID应用程序能够识别公钥


我该怎么做?有人能帮我吗

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

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


替代方法:这个问题也可以通过使用iOS的OpenSSL库(请参阅)和使用输入模和指数(base64encoded)创建RSA对象来解决从任何其他平台共享的公钥数据。

首选项->SSH2->密钥管理->选择RSA->将鼠标点移动到银行空间,直到生成公钥->单击保存私钥(公钥和私钥都将保存在C://Users/User Name/.ssh/id\u RSA.pub key中),仅此而已

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