【问题标题】:OSStatus -9809 while decryptionOSStatus -9809 解密时
【发布时间】:2011-11-08 06:36:35
【问题描述】:

我正在尝试在 iphone 中实现 rsa 加密和解密算法作为我的应用程序的一部分。(xcode 4.2,ios sdk 5.0) 我正在使用 SecKeyGeneratePair 生成密钥并使用 SecKeyEncrypt 进行加密。 这两个都返回 OSStatus 0。

但是在使用 SecKeyDecrypt 解密时,我得到 OSStatus 为 -9809。 请帮忙;我哪里出错了。

编辑:感谢您的快速回复。 我从以下链接复制并粘贴了代码:

http://www.iphonedevsdk.com/forum/iphone-sdk-development/17242-rsa-generating-keypair-so-slowly.html

【问题讨论】:

  • 发布您的一些代码。我们这里没有什么可做的。
  • 没有人可以回答您在问题中提供的任何信息...但是您是否在加密和解密中使用填充...尝试使用 kSecPaddingNone
  • 感谢 cmets。我想到了!!错误是由于缓冲区大小问题。

标签: iphone rsa


【解决方案1】:

原因是Apple page有错别字

NSData *encryptedData = [NSData dataWithBytes:cipherBuffer length:dataLength];

应该是:

NSData *encryptedData = [NSData dataWithBytes:cipherBuffer length:cipherBufferSize];

【讨论】:

  • 1000% 正确!需要标记为正确答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多