0

我只想让一些有限的用户可以访问 webapp。所以我选择了一个SSL客户端认证。我是新手,所以对它了解不多,我按照本教程来实现它。这是我心中的一些问题。我正在使用基本的自签名 SSL。

1) 我们可以为我提供的所有客户创建一个客户证书吗?所以任何拥有客户端证书的人都可以访问应用程序。听起来不是一个好方法。

2)如果不是(1)那么有没有简单的方法来创建客户端证书并在tomcat user.xml上注册。我不想强迫用户创建客户端证书并发送给我,所以我在服务器上注册。

3) 如果 SSL 证书不匹配,如何重定向到其他页面。?

4)我们可以将一台机器的私钥用于另一台机器吗?

5) 我的服务器上有多个应用程序,但我只想使用 SSL 对一个应用程序进行身份验证。那怎么可能呢?

还请为此建议我任何好的教程。最后,我的要求是允许最多 50 个有限用户访问。我的客户可以以某种用户友好的方式注册他的系统。

4

1 回答 1

2

1) 我们可以为我提供的所有客户创建一个客户证书吗?

这没有意义。客户端证书应该唯一标识客户端。他们每个人都应该有一个。

所以任何拥有客户端证书的人都可以访问应用程序。听起来不是一个好方法。

它不是。

2)如果不是(1)那么有没有简单的方法来创建客户端证书并在tomcat user.xml上注册。我不想强迫用户创建客户端证书并发送给我,所以我在服务器上注册。

这是唯一安全的方式。如果您创建证书,则您拥有私钥,因此它不是私有的,因此它不能合法地做它应该做的事情。例如,您无法证明只有客户才能执行任何交易,因此您失去了法律上的不可否认性。您不应该为此使用 users.xml,您应该使用其他 Tomcat 安全领域之一,例如数据库。

3) 如果 SSL 证书不匹配,如何重定向到其他页面。?

如果您使用的是容器管理的身份验证,那么您应该使用它,所有这些都在 web.xml 中为应用程序定义。

4)我们可以将一台机器的私钥用于另一台机器吗?

没有意义,见上。私钥应该是私有的并且在一个实体的独占控制下。

我质疑在这里使用客户端证书是否是正确的解决方案。如果您只想限制对服务器的访问,请给每个客户端一个登录名。

5) 我的服务器上有多个应用程序,但我只想用 SS 验证一个应用程序

于 2013-04-16T01:26:57.207 回答