GAE java中的证书客户端认证

时间:2013-11-27 09:58:02

标签: java google-app-engine ssl client-certificates

我正在 GAE java 中编写一个应用程序,该应用程序通过证书对用户进行身份验证。我在客户端使用keytool创建了自签名证书。我还在Google应用引擎中为我的应用启用了https请求。应用程序流程非常简单。用户使用任何浏览器进入应用程序的主页,然后尝试访问应用程序的资源。我只是验证用户是否拥有有效证书。我错过了当用户通过任何浏览器访问我的应用程序时,我在客户端创建的这个证书将如何发送到应用程序的部分?另外我如何验证证书?提前致谢

1 个答案:

答案 0 :(得分:2)

我做了很多搜索,并在这里分享并分享。

1-在这种情况下,当浏览器与服务器连接时,发送客户端证书是浏览器的责任。客户端证书必须在浏览器中配置/安装/导入。如果您正在开发客户端,那么您可以编写代码从本地计算机读取证书并将其嵌入请求中,然后将其发送到服务器。

2-浏览器仅在服务器请求服务器和服务器已将证书发送到浏览器并且此证书已由浏览器验证时才将证书发送到服务器。我们必须首先配置我们的服务器以将证书发送到客户端并请求客户端证书。我们可以在我们的应用程序中验证客户端证书我们只需要从请求中提取证书。

3-直到现在GAE不提供客户端证书服务。我们无法将GAE服务器配置为请求客户端证书。可能会有另一种方法来做到这一点,但我没有找到任何解决方案。我希望将来GAE将支持客户端证书身份验证。