【问题标题】:How should I go about authenticating an application via HTTP?我应该如何通过 HTTP 对应用程序进行身份验证?
【发布时间】:2014-01-23 22:04:26
【问题描述】:

我正在制作一个应用程序,要求它在启动时使用配置文件中定义的“密钥”进行身份验证。我不能让应用程序调用数据库,所以我想我需要做一个 HTTP 请求,但是我不确定我应该如何去做以及如何不能利用它。

我只是需要从某个地方开始,谢谢!

【问题讨论】:

  • 需要用什么进行身份验证?

标签: java security authentication


【解决方案1】:

您可以使用 SSL。然后要管理受信任的证书,您可以实现自己的javax.net.ssl.X509TrustManager。您可以使用 javax.net.ssl.X509TrustManager 通过标准 Java 机制管理您的 .keystore 文件。密钥库将包含私钥。

来自 JavaDoc:

此接口的实例管理哪些 X509 证书可用于验证安全套接字的远程端。决策可能基于受信任的证书颁发机构、>证书撤销列表、在线状态检查或其他方式。

还要注意:

TrustManagers 负责管理建立信任时使用的信任材料
决定,以及决定是否应接受对等方提供的凭据。

如果您扩展 X509TrustManager,您可以在证书中读取您的私有 .keystore 文件以及 Java 信任的证书。那些住在JAVA_HOME\lib\security\cacerts

【讨论】:

  • 您不需要自己的 TrustManager 即可通过 HTTPS 进行身份验证。它是内置的。您只需要一个合适的信任库。
  • 听起来他正在使用密钥填充证书存储,因此他需要一个了解该自定义存储的信任管理器,以便可以找到密钥。
猜你喜欢
  • 2017-03-03
  • 2020-07-24
  • 1970-01-01
  • 2011-06-19
  • 2014-12-09
  • 2018-04-12
  • 2021-10-25
  • 1970-01-01
  • 2022-07-13
相关资源
最近更新 更多