X.509 与白名单身份验证
X.509 versus Whte Listing Authentication
我的公司正在过渡到基于云的应用程序服务器。关键应用程序将继续 运行 在内部,但选定的新应用程序将 运行 在基于云的应用程序服务器上。许多内部应用程序服务器为客户端应用程序提供 REST 端点。目前该公司使用白名单进行客户端身份验证。这对于单实例云服务是可以的。我们使用 AWS,因此弹性 IP (EIP) 可以完美地用于单个或几个实例。但是,我认为根据需求使用我们公司的白名单 IP 政策来扩展和缩减实例的云服务器应用程序存在问题。超出几个 EIP 的任何事情都变得困难。至少在我看来。
我正在考虑使用 X.509 证书名称验证。换句话说,一旦证书通过验证并交换会话密钥,我就会使用有效名称列表验证证书上的名称。如果名称匹配,我将继续会话。否则,如果名称不匹配,会话将关闭并显示 403 错误代码。这是在客户端和服务器上完成的,因此两者都相互验证。是否可以在 Tomcat 中将此名称检查作为 config.xml 的一部分或其他自动检查?换句话说,这是一种自动方式,因此我不必修改端点 HTTPS 代码。或者我是否必须修改 HTTPS 代码以包括对证书名称的检查?这有意义还是有更好的方法?
此致,
史蒂夫·曼斯菲尔德
好的,我找到答案了。我找到了 Maxim Porges 的一个很棒的网页,它解释了我需要的一切,
http://www.maximporges.com/2009/11/18/configuring-tomcat-ssl-clientserver-authentication/
是的,我可以同时验证服务器和客户端。服务器端不需要更改代码。我只需要将客户端证书放在服务器密钥库中。我还需要确保在 tomcat 配置文件 (server.xml) 中将 clientAuth 设置为 "want"。在客户端,我需要进行一些代码更改,但它们很小。我还需要将服务器证书和客户端证书放在客户端可以找到它们的地方。一旦你知道怎么做就非常简单。提供的 URL 详细解释了每个步骤。
此致,
史蒂夫·曼斯菲尔德
我的公司正在过渡到基于云的应用程序服务器。关键应用程序将继续 运行 在内部,但选定的新应用程序将 运行 在基于云的应用程序服务器上。许多内部应用程序服务器为客户端应用程序提供 REST 端点。目前该公司使用白名单进行客户端身份验证。这对于单实例云服务是可以的。我们使用 AWS,因此弹性 IP (EIP) 可以完美地用于单个或几个实例。但是,我认为根据需求使用我们公司的白名单 IP 政策来扩展和缩减实例的云服务器应用程序存在问题。超出几个 EIP 的任何事情都变得困难。至少在我看来。
我正在考虑使用 X.509 证书名称验证。换句话说,一旦证书通过验证并交换会话密钥,我就会使用有效名称列表验证证书上的名称。如果名称匹配,我将继续会话。否则,如果名称不匹配,会话将关闭并显示 403 错误代码。这是在客户端和服务器上完成的,因此两者都相互验证。是否可以在 Tomcat 中将此名称检查作为 config.xml 的一部分或其他自动检查?换句话说,这是一种自动方式,因此我不必修改端点 HTTPS 代码。或者我是否必须修改 HTTPS 代码以包括对证书名称的检查?这有意义还是有更好的方法?
此致, 史蒂夫·曼斯菲尔德
好的,我找到答案了。我找到了 Maxim Porges 的一个很棒的网页,它解释了我需要的一切,
http://www.maximporges.com/2009/11/18/configuring-tomcat-ssl-clientserver-authentication/
是的,我可以同时验证服务器和客户端。服务器端不需要更改代码。我只需要将客户端证书放在服务器密钥库中。我还需要确保在 tomcat 配置文件 (server.xml) 中将 clientAuth 设置为 "want"。在客户端,我需要进行一些代码更改,但它们很小。我还需要将服务器证书和客户端证书放在客户端可以找到它们的地方。一旦你知道怎么做就非常简单。提供的 URL 详细解释了每个步骤。
此致, 史蒂夫·曼斯菲尔德