2013-06-05 22 views
0

我有一個關於在iOS應用程序中保存Keys的問題。如何將RSA publicKey/privateKey保存在鑰匙串中

有什麼辦法可以在應用程序中保存RSA證書的公鑰/私鑰,而不是將其保存/存儲在iOS鑰匙串中。 也許有人以前試過這個?

我發現了一些類似的用戶名和密碼。它被稱爲「Keychainwrapper」。那裏的應用程序保存登錄憑據。這對私人/公共鑰匙是否適合我?

希望有人能幫助我。

最好的問候,

安迪

+0

爲什麼不使用鑰匙串?您可以在用戶名/密碼字段中存儲任意數據,以便適用於公鑰/私鑰。如果你真的想把它存儲在應用程序中,使用'NSUserDefaults'或直接寫入plist。你真的需要詳細說明你的要求。此外,'keychainwrapper'聽起來像鑰匙鏈的包裝.. :) – Mar0ux

+0

嗯,這是一個要求,存儲這不在鑰匙串:)。謝謝 –

+0

如果您的要求是證書必須存儲在應用程序中。我建議使用pkcs5格式的RSA證書。該證書是隨應用程序一起提供還是要下載?這種情況下的問題是您必須保護pkcs5密碼。 – sebgie

回答

0

既然你只存儲公共和私有密鑰,而不是整個證書,不能使用內部鑰匙扣和密鑰的設備就足夠生成如果您保存您的公鑰和私鑰在NSUserDefaults的:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
//saving the data 
[prefs setObject"<your public key data>" forKey:@"PublicKey"]; 
[prefs setObject"<your private key data>" forKey:@"PrivateKey"]; 

//reading the data 
NSString *publicKey = [prefs stringForKey:@"PublicKey"]; 
NSString *privateKey = [prefs stringForKey:@"PrivateKey"]; 

這家店是相當不安全的,所以我建議你加密你這樣的數據:iOS 5: Data encryption AES-256 EncryptWithKey: not found。請注意,如果將密鑰存儲在應用程序中,則對稱加密不安全!您應該使用一些用戶輸入來生成密鑰。

希望這會有所幫助。

+0

是的,非常感謝。記住用戶輸入,但在這種情況下不是問題:) –

相關問題