java - 在 GAE java 中通过证书进行客户端身份验证

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

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

最佳答案

我做了很多搜索,得出了这些观点并在这里分享。

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

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

3- 到目前为止,GAE 不提供客户端证书服务。我们无法配置我们的 GAE 服务器来请求客户端证书。可能会有另一种方法可以做到这一点,但我没有找到任何解决方案。希望以后GAE能支持客户端证书认证。

关于java - 在 GAE java 中通过证书进行客户端身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239163/

相关文章:

java - Activity 不是封闭类(android studio)

java - 同步 Android sqlite 数据库和 GAE 数据存储

google-app-engine - 设置 GAE 前端实例类的经验法则

wcf - 使用 makecert 命令行时证书将存储在系统中的位置

java - 为 Apache Spark 指定外部配置文件

java - 如何从 OptaPlanner 中的先前解决方案获取 ScoreDirectorFactory

java - Selenium:WAITING元素消失

java - Maven + JSF 2 + 谷歌应用引擎 : 404 error

java - 客户端/服务器程序在初始化 KeyManagerFactoryImpl 时出错

java - 以编程方式在 Java 中添加受信任的证书