UIWebView,SSL和导出合规性

时间:2010-08-31 08:20:22

标签: iphone ssl uiwebview

我目前在商店中有一个应用程序,它一度涉及显示模态UIWebView。 webview显示用户登录的特定网页,进行一些选择,然后一旦完成,webview就会被取消。登录网页位于https位置。

我在一些地方读到过使用SSL意味着我可能需要填写CCATS并将我的应用程序传递给出口合规性,但我认为使用UIWebView时并非如此。如果是这种情况,那么包含浏览器的任何应用程序肯定都需要通过导出合规性吗?

我正在考虑删除UIWebView以获得更好的用户体验,但我期待我将使用SSL进行身份验证以及网站内的任何进一步交互,这将需要填写CCATS。

所以,我想我的问题是:

  • 我是否更正在其当前版本中,我的应用不需要出口合规性

  • 假设实际网站本身是安全的,那么我对UIWebView /网页目前的安全性是肯定的吗?

  • 如果我选择删除UIWebView并自行进行SSL交互,我是否需要填写CCATS?

2 个答案:

答案 0 :(得分:0)

只要您不使用任何第三方安全API(SSL,加密......),您就不需要其他额外的合规性,而不需要Apple批准在Appstore上提交申请。
Apple的安全API并不是我见过的最好的(如果你问我的话,还没有记录和痛苦),但如果你想要做的是一个简单的SSL连接,你真的不需要它。

如果您尝试连接的服务器使用来自有效CA(不是自签名证书)的证书,那么实现用户名/密码身份验证就像实现一个委托方法一样简单,您可以在其中提供用户的输入。< / p>

-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
     NSString *username = [binding.authenticationProperties objectForKey:kClientUsername];
     NSString *password = [binding.authenticationProperties objectForKey:kClientPassword];
     newCredential=[NSURLCredential credentialWithUser:username
                                              password:password
                                           persistence:NSURLCredentialPersistenceForSession];
     [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}

另一方面,自签名证书和双向SSL可能会变得棘手,但我想这不是你要求的:)

我希望这能回答你的问题 问候

答案 1 :(得分:0)

无论您使用内置SSL功能还是进行自己的SSL调用,您仍然使用加密。这些要求并没有真正改变,所以第一站应该是熟悉哪些(如果有的话)出口控制适用。

the Bureau of Industry and Security web site开始,如果您仍有疑问,可致电202-482-0707与服务台联系。