【问题标题】:Certificates for authentication and signing用于身份验证和签名的证书
【发布时间】:2020-09-20 01:01:19
【问题描述】:

我有一个客户端服务器方案。

我有一个胖客户端和一个与我的服务器通信的瘦客户端(浏览器)。

我的胖客户端使用X-509系统证书进行客户端证书认证场景并与服务器通信

此证书还用于为我的瘦客户端生成签名 URL(带有过期时间),以便与我的服务器通信,用于完整性和授权目的。在这种情况下,我还有一种基于令牌的身份验证方法。

现在我想使用客户端凭据或基于身份验证代码完成将我的身份验证机制移动到基于 OAuth 的流程。

我了解身份验证和授权可以转移到基于 OAuth 的通信中。但是我如何将基于签名(数字签名)的用例从基于证书的 OAuth 转移到 OAuth?

我认为除了使用基于证书的 PKI 机制进行数字签名之外,没有其他方法。除了证书之外,私钥和公钥是否可以分发?

最好的问候,

苏拉夫

【问题讨论】:

    标签: oauth-2.0 digital-signature x509certificate pki


    【解决方案1】:

    除了证书之外,私钥和公钥是否可以分发?

    您可以使用 openssl(命令行 - openssl.exe)或任何加密库或加密设备的 CSP 生成密钥对。您可能拥有一个软件,而不是分发它,用户可以在他的末端使用它来生成公钥和私钥,并在需要时共享公钥并安全地存储私钥。但问题仍然是用户如何安全地存储私钥,并且有证书存储格式,例如受密码保护的 PFX(使用您提供的密码加密)或将私钥存储在作为加密设备的智能卡或 USB 令牌中。您可以对这些设备进行编程以生成我们自己的密钥,而不必存储 CA 颁发的证书。

    对于基于浏览器的用户私钥访问,您可能需要使用浏览器扩展。 参考SO answer从浏览器访问用户密钥进行身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 2017-03-31
      相关资源
      最近更新 更多