1

我正在开发 Java Web 服务并使用 Tomcat 服务器。由于此应用程序将是 B2B,因此我们需要客户端身份验证。我们正在使用 openssl 创建证书。对于每个用户,我们将创建一个自签名证书,我们将通过邮件或其他方式发送它。现在问题来了,当客户端通过安全连接调用服务器时,客户端应该发送服务器提供的证书。我希望该客户端可以发送证书以进行客户端身份验证,而无需在客户端进行任何代码实现。有什么办法可以做到这一点?有人可以告诉我实施此操作所需的确切步骤吗?

4

1 回答 1

3

对于每个用户,我们将创建一个自签名证书,我们将通过邮件或其他方式发送它。

停在那儿。这已经很不安全了。这意味着您拥有用户的私钥。用户,并且只有用户,应该拥有用户的私钥。用户应该生成他自己的私钥,如果你坚持他自己的自签名证书,或者最好还是让 CA 签名。如果您出于任何原因需要,他应该将其发送给您。

你所做的完全是从头到尾,从法律/安全的角度来看完全没有价值。事实上,它包含重大的法律风险,您需要在继续之前了解这些风险。其中之一是完全丧失用户交易的不可否认性。这足以关闭您的业务。

于 2012-05-06T06:14:53.313 回答