我们正在创建自己的CA,但我不确定如何正确签署csrs。
我正在考虑在服务器中生成csr和cert(并让用户下载p12或安装程序)或创建Windows应用程序并让用户下载它以便工作,但这当然是将他们的私钥暴露给我的应用程序。
你会推荐什么?
答案 0 :(得分:1)
似乎Keygen
标记已deprecated in chrome,并且没有标准方法可以从浏览器请求证书。实际上,CA需要创建您自己的密钥对+ csr,例如使用openssl,或者提供一个表单来自动生成并复制和粘贴到您计算机中的文件。
不要在服务器中生成证书并将其发送到客户端。这是一个关键且高风险的过程。如果流程不安全,您的CA将无效,并且不会获得认证(假设您需要)。
选项:
在客户端生成密钥对和CSR,将CSR发送到服务器并接收签名证书:您可以使用openssl,本地应用程序,HTML表单或使用自动化流程WebCryptographyApi(或其他javascript库)
在服务器中生成证书并远程使用:证书必须方便安全,主要使用HSM(在欧盟,对于想要存储用户的可信CA必须证书),证书的使用被凭证锁定。通常使用双因素身份验证。例如用户名/密码+短信