2012-05-30 50 views
1

我想使用包含我的私鑰和證書的兩個PEM文件以及服務器的CACertificate向服務器發送HTTPS POST。我已經從Windows應用程序完成了一段時間,它的工作原理正確。現在我必須從iPad上的iOS應用程序執行相同的操作。看起來Cocoa框架沒有這種類型的請求的功能...任何想法如何做到這一點或如何把iOS設備上的cURL將不勝感激。使用SSL身份驗證的iOS中的HTTPS POST:cURL?

更新:我結束了使用openSSL爲iOS 5.1編譯的cURL。完美的作品。

回答

3

也許ASIHTTPRequest可以與

Client certificates方法

If your server requires the use of client certificates, as of v1.8 it 
is now possible to send them with your request. 

    // Will send the certificate attached to the identity (identity is a SecIdentityRef) 
    [request setClientCertificateIdentity:identity]; 

    // Add an additional certificate (where cert is a SecCertificateRef) 
    [request setClientCertificates:[NSArray arrayWithObject:(id)cert]]; 

There is a helper function in ClientCertificateTests.m in the iPhone/
iPad sample app that can create a SecIdentityRef from PKCS12 data 
(this function only works on iOS). 
+0

的幫助,而我還沒有使用證書的功能,ASIHTTPRequest是讓你的網絡去快速方便的好工具。我會建議從那裏開始。 –

+1

請記住,ASIHTTPRequest不再處於積極的發展狀態。只有在你明白它是內部工作的時候才使用它,並且當未來的iOS版本發生故障時,它們願意拼圖(很多)。這就是說:我也在我的一個項目中使用ASI進行客戶端證書認證,並且它工作得很好。 – xCoder

+0

@xCoder同意,但ASI是一個很好的框架,甚至比AFNetwork – CarlJ