首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS与Java之间的公钥交换

iOS与Java之间的公钥交换
EN

Stack Overflow用户
提问于 2014-02-27 10:26:38
回答 1查看 973关注 0票数 1

我想与基于Java的服务器或Android设备共享在iPhone/iPad上生成的公钥。在Java方面(服务器或安卓),我想在java.securitylibcommonCrypto ( SecKeyRef )上使用iOS。

除了这两个平台之间的公钥交换之外,我什么都能用。通过使用SecItemCopyMatching,我只能将公钥导出为其他任何东西都不支持的格式,而不是苹果。使用Java,我可以以X509证书(通过java.security.X509EncodedKeySpec)或作为模块和指数(通过java.security.RSAPublicKeySpec)加载公钥。

现在,我需要知道如何将SecKeyRef导出为X509证书,或者(我猜是更容易的解决方案)从它获得模块和指数。我也需要后退的路。

下面是从SecKeyRef加载并编码到BASE64的一些示例公钥:

代码语言:javascript
复制
MIGJAoGBAMYgXP6rvD/Y8F0VQE0HvxpVnnOxXYl5TDlOfW/leyrCLWGWg9Jp+Tl9dYvK/zWgNpoEfFzMVRpUk9UHcIaDWHW3g0BpS2MVC3Vs/0e2eu6S2WMGHpzqcJB51jJRbnqXQ23nVKC2YE520Po3EvFyTr8MlFJqTCJrovgc7fze4RI5AgMBAAE=
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 16:00:23

libcommonCrypto正在使用的协议是用RFC3347描述的,它是一个ASN.1序列的模数和公共指数。

RSA公钥应该用ASN.1类型的RSAPublicKey表示: RSAPublicKey ::=序列{模整数,-n publicExponent整数-- e}

引用RFC3347,Ver。2.1、A.1.1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22065628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档