iphone - iOS - 从指数+模数创建 SecKeyRef

标签 iphone ios security rsa

我想通过将指数和模数作为私钥来解密 iPhone 上的 RSA 编码的 blob。在 Java 中(使用 javax.crypto),这可以通过如下代码轻松实现:

// 1) key
RSAPublicKeySpec keySpec = new RSAPublicKeySpec(myModulus, myPublicExponent);
KeyFactory fact = KeyFactory.getInstance("RSA");
Key pubKey = fact.generatePublic(keySpec);

// 2) cypher
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, keySpec);

// 3) use cypher to decode my block to an output stream

但是对于 iPhone 安全 API,我无法创建 SecKeyRef( key ),只能生成一对或导入一个我没有/想要的证书。

有没有办法手动创建具有模数 + 指数的 key ?如果是这样,你能告诉我怎么做吗?

提前致谢

最佳答案

您的指数和模数是如何编码的?如果他们在 PKCS#12 blob,你可以使用 SecPKCS12Import()SecIdentityCopyPrivateKey() 来实现你想要的。

编辑:鉴于您拥有原始 key ,您可能有兴趣查看-[SecKeyWrapper addPeerPublicKey:keyBits:] 示例provided由 Apple。

关于iphone - iOS - 从指数+模数创建 SecKeyRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942712/

相关文章:

ios - NSUbiquityIdentityDidChangeNotification 的地址比较不等于空指针始终为 true

security - .pem 文件是否同时包含私钥和公钥?

java - 为 Java EE 6 中的调度程序授予安全权限

ios - 加载UIKit View Controller 和.xib作为Cocos2D场景

ios - ViewController 中的 CollectionView

ios - 使用 iOS APP 的包标识符作为密码是否安全?

iphone - 对将 Class 方法与具有委托(delegate)的对象一起使用感到困惑

ios - 使用 AVAudioEngine 录制音频文件

iphone - 使 Storyboard 中的场景更长或在其中滚动

ios - 键盘外的听写按钮