Forefront UAG具有REST API的SSL / X509身份validation

我不是一个networking工程师,而是一个软件工程师,所以这个主题对我来说是相当陌生的。 我们开发了一个解决scheme,该解决scheme由一个服务器端Web应用程序(带有一个rest api),在java服务器和一个客户端的ios应用程序(非浏览器)上工作,这个应用程序使用来自服务器的rest服务。

客户端使用智能购物车上的X509证书在服务器上进行身份validation。 当我们的开发环境中,客户端可以直接访问服务器时,一切正常。

但是现在我们有一个生产环境,我们的客户应该在互联网的某个地方,我们的服务器位于内部网。 有一个Microsoft Forefront UAG(SP3)作为从Internet到Intranet的公司网关。 我从来没有在实践中使用过UAG,前两天也没有听说过,我不明白它有什么特点需要我们来帮助我们解决我们的任务。 要清楚,我们的任务是:

  1. 客户端应该build立与“端点”的https连接(这是我们的服务器在开发环境中,现在是生产环境中的UAG服务器)
  2. UAG应检查客户证书(有效的,未被撤销的等)
  3. UAG应将客户端请求传输到我们的内联网服务器应用程序
  4. 关键要求 UAG应该“帮助”服务器应用程序进一步的客户端授权。 在开发环境中,我们使用客户端X509证书属性来标识用户,但是我build议(我是对的?)UAG需要终止SSL会话,并且整个https请求的客户端请求证书不能被传送到后台服务器。 好吧,我同意,如果UAG将转换客户端请求(解密之后,转换为服务器之前),并将一些客户端证书的详细信息,例如HTTP头。 或者即使他用适当的对证书重新encryption它(即使它将更难处理)。

你能帮我,说几个关键字,我需要通过了解它将如何工作? 在UAG featere列表(SSL VPN,SSL隧道,DirectAccess等等)中有许多新词,每个人似乎都与这个任务有点相关,但是我不明白我需要什么,以及我们会如何工作。

非常感谢你。