我正在iPhone中開發一個應用程序,並將其連接到webService。要發送用戶的密碼,我想加密它。爲此,我創建了一對公鑰/私鑰,私鑰在服務器上解密密碼,公衆在iPhone的應用程序中加密密碼。我創建了配對:使用ios上的不可信證書加密數據
$ openssl genrsa -out private.pem 1024
$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout
當我加密我用這個代碼來創建SecCertificateRef消息:
NSData *certData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wspublickey" ofType:@"pem"]];
SecCertificateRef cert = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef)certData);
該指令證書==爲零後,我通過很多時間試圖瞭解關於它的帖子(我理解非對稱密鑰的困惑,但我完全沒有經驗)。我的結論是我的證書不可信,這就是爲什麼SecCertificateCreateWithData返回nil。我的問題是我如何加密我的數據,如果我不想支付可信任的證書?對不起,我對rya公開密鑰證書的加密數據執行不瞭解,但我迷路了,我不知道該如何解決這個問題。謝謝你的幫助。帖子readed:
"untrusted server certificate" on iPhone http://omegadelta.net/2011/01/17/ios-untrusted-server-certificate/ http://lists.apple.com/archives/apple-cdsa/2009/Jun/msg00012.html
所有我想要的是使等同於命令:
$ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
我認爲他想這樣做,但使用自簽名證書。如果您將公鑰硬編碼到應用程序中,這非常好。 – CodesInChaos 2012-03-20 17:24:16
@CodeInChaos啊,是的,這可以說是更安全。 – rook 2012-03-20 17:26:38
確切的,目前我沒有https服務器,我現在也無法擁有它,因此我搜索了一個保護用戶密碼的解決方案 – Jpellat 2012-03-20 17:26:51