ssl - 使用 SSL 的客户端身份验证,无需任何客户端代码实现

标签 ssl authentication

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

最佳答案

For each user we will create a self signed certificate and we will send it through mail or something.

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

你所做的完全是倒退,从法律/安全的角度来看完全没有值(value)。事实上,它包含主要的法律风险,您需要在继续操作之前了解这些信息。其中之一是完全丧失用户交易的不可否认性。这足以关闭您的业务。

关于ssl - 使用 SSL 的客户端身份验证,无需任何客户端代码实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10468334/

相关文章:

iframe - 在 iframe 中显示 Salesforce 登录表单

security - 我是否需要在服务器 A 和服务器 B 上使用 SSL 来处理 cURL 请求,还是我可以只在服务器 B 上使用它?

php - 如何在 PHP 5.6 中通过 php.ini 设置 'verify_peer_name=false' SSL 上下文选项

java - 是否可以强制 SSLHandshake 始终使用主机名,而不是 HttpsUrlConnection 的 IP

ssl - Edge 无法识别自签名受信任的根证书

ios - AFNetworking NTLM 身份验证?

c# - MongoDB C# 身份验证异常

php - 在 PHP 中使用 HTTP 基本身份验证时如何在后台显示图像

ssl - Watson 和 https 的问题

Azure AD B2C -> OAuth2 -> Azure Function App token 交换