我想通过使用指数和模数作为私钥来解密 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(密钥)。
有没有办法手动创建具有模数+指数的密钥?如果是这样,你能告诉我如何做吗?
提前致谢
您的指数和模数是如何编码的?如果他们在一个PKCS#12斑点,你可以使用SecPKCS12Import()
and SecIdentityCopyPrivateKey()
实现你想要的。
EDIT:鉴于您拥有原始密钥,您可能有兴趣查看-[SecKeyWrapper addPeerPublicKey:keyBits:]
例子provided由苹果公司。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)