用iphone中的公钥解密

时间:2010-12-29 07:52:04

标签: iphone rsa

我有一个公钥和一个加密的字符串。我可以使用publickey成功加密。但是当我尝试使用publickey解密时,它失败了。我的意思是当我将公钥传递给 seckeyDecrypt 时,它失败了。  

我已经谷歌搜索并发现,默认情况下 kSecAttrCanDecrypt 对于公钥是假的。所以当我导入公钥时,我添加了这个特定的线,
   [publicKeyAttr setObject:(id)kCFBooleanTrue forKey:(id)kSecAttrCanDecrypt];

但是没有改善它仍然失败。请有人帮忙。

编辑: Apple的证书,密钥和信托服务说,

kSecAttrCanEncrypt私钥的默认值为false,公钥的默认值为true kSecAttrCanDecrypt私钥的默认值为true,公钥的默认值为false 这意味着,值可以改变吗?我的服务器没有签名(转换为摘要)内容。他们只使用私钥加密,该私钥将在我(在iphone)端解密。这可能吗?。

1 个答案:

答案 0 :(得分:3)

asymmetric cryptography的要点是您使用公钥加密并使用私钥解密。

编辑:如果您正在签名和验证,则应使用关联的API。例如,您可以使用kSecAttrCanSignkSecAttrCanVerify检查此功能。