对于初学者,我想说,如果您真的很重视安全性,请投入适当的时间和资源,并将其视为您功能列表中的一等公民。不要只是“打开 SSL”并假装事情是安全的。我并不是建议您这样做或不这样做,但我只是觉得我必须在继续之前说出来。
也就是说,您可能已经知道 WS-* 全部构建在 http 请求之上,并且任何时候您处理大量 http 请求时,您可能会发现ASIHTTPRequest在 iPhone 上非常有用。但是,这不会让你 100% 到达那里。
从 iPhone 的角度来看,您有:
- URL加载系统,它是处理任何类型网络资源的高级API
- CFNetwork C API 较低级别,允许您以任何您认为合适的方式更好地控制加密流和网络流量
- 完成繁重工作的证书、密钥和信任服务,更具体地说是 X509 信任策略
在 Mac 上,您可以使用 Secure Transport,但据我所知,他们尚未将其移植到设备上,因此除非您打算将其带到桌面或刚刚进入,否则我不会因为阅读而分心学习一切的心情:)
如果您正在使用 WCF 进行任何安全操作,您可能意识到的第一件事是您可以使用许多选项,但这一切都归结为以下简短列表:
- 带有明文消息的传输层安全性 (https) (xml/json/...)
- 开放传输 (http) 上的消息层安全性(加密的消息正文)
- 通过安全传输的安全消息
我上次做 WCF 时(大约一年前),微软的一般建议似乎是开放传输上的消息层安全性,因为在尝试保护传输时引入了防火墙/可访问性问题。但是,这种方法假定所有相关方都具备 .NET/WCF 能力。我相信如果它是 HTTPS 传输级别的安全性,具有清晰的 XML 或 JSON 消息正文,那么在设备上使用会更容易。这样,您就可以利用 Apple 已经完成的 CFNetwork 和 NSHTTPRequest 中的所有内容。
一旦你得到一些工作,你会想要参考企业部署指南,特别是关于无线注册的文档,以便你可以在设备上安装证书。请记住,一切皆有可能,不要害怕使用该程序附带的 Apple 支持票之一 :)
编辑:
我完全忘记提及GenericKeychain和CryptoExcercise示例
编辑2:
在我无缘无故地被否决后,我重新阅读了我的回复,并意识到我在没有真正回答你关于如何在设备上打开 p12 文件的问题时有点啰嗦。您应该能够简单地[[UIApplication sharedApplication] openURL:urlToP12FileEitherLocalOrRemote]]
将其启动到操作系统以进行安装过程。