2011-11-08 63 views
2

我想實現rsa加密和解密算法作爲我的應用程序在iphone中的一部分。(xcode 4.2,ios sdk 5.0) 我正在使用SecKeyGeneratePair生成密鑰並使用SecKeyEncrypt進行加密。 這兩個返回OSStatus 0.OSStatus -9809同時解密

但使用SecKeyDecrypt解密時,我得到OSStatus爲-9809。 請幫忙;我哪裏錯了。

編輯:感謝您的快速響應。 我複製並從以下鏈接粘貼代碼:

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

+0

帖子你的一些代碼。我們沒有什麼可以繼續下去的。 – duskwuff

+0

沒有人可以用你在問題中提供的任何信息來回答......但是你有沒有在加密和解密中使用填充...嘗試使用kSecPaddingNone – Krishnabhadra

+0

感謝您的評論。我想到了!!該錯誤是由於緩衝區大小問題。 –

回答

11

的原因是,有上Apple page

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

一個錯字它應該是:

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

1000%正確!需要被標記爲正確答案! – cph2117