成为我自己的证书颁发机构的推荐方式
Recommended way to be my own Certificate Authority
我们正在创建我们自己的 CA,但我不确定如何正确签署 csrs。
- Chrome 支持 keygen HTML 标签,但它不会安装下载的证书(无用)。
- Firefox 使用 keygen 标签,但它使用自己的商店,这意味着用户必须导出证书并将其重新导入到 Windows 才能在其他浏览器中使用它。
- IE 需要一个特殊的 MS-only javascript 对象但是,运行 Windows10,我们的客户甚至不知道如何打开 IE。
- Edge 不理解任何与 CSR 相关的内容。
我正在考虑在服务器中生成 csr 和证书(并让用户下载 p12 或安装程序)或创建一个 Windows 应用程序并让用户下载它以便工作,但这当然会将他们的私钥暴露给我的应用程序。
你会推荐什么?
似乎 Keygen
标记已 deprecated in chrome 并且没有从浏览器请求证书的标准方法。实际上 CA 需要创建您自己的密钥对 + csr,例如使用 openssl,或者提供一个表格来自动生成并复制并粘贴到您计算机中的文件。
不在服务器端生成证书发送给客户端。这是一个关键且高风险的过程。如果该过程不安全,您的 CA 将无效,并且不会被认证(假设您需要它)。
选项:
在客户端生成密钥对和 CSR,将 CSR 发送到服务器并接收签名证书: 您可以使用 openssl,一个本地应用程序,一个 HTML 表单,或使用 WebCryptographyApi(或其他 javascript 库)使过程自动化
在服务器中生成证书并远程使用:证书必须方便安全,主要使用HSM(在欧盟,强制想要存储用户证书的可信 CA),并且证书的使用被凭据锁定。通常使用双因素身份验证。例如 username/password + 短信
我们正在创建我们自己的 CA,但我不确定如何正确签署 csrs。
- Chrome 支持 keygen HTML 标签,但它不会安装下载的证书(无用)。
- Firefox 使用 keygen 标签,但它使用自己的商店,这意味着用户必须导出证书并将其重新导入到 Windows 才能在其他浏览器中使用它。
- IE 需要一个特殊的 MS-only javascript 对象但是,运行 Windows10,我们的客户甚至不知道如何打开 IE。
- Edge 不理解任何与 CSR 相关的内容。
我正在考虑在服务器中生成 csr 和证书(并让用户下载 p12 或安装程序)或创建一个 Windows 应用程序并让用户下载它以便工作,但这当然会将他们的私钥暴露给我的应用程序。
你会推荐什么?
似乎 Keygen
标记已 deprecated in chrome 并且没有从浏览器请求证书的标准方法。实际上 CA 需要创建您自己的密钥对 + csr,例如使用 openssl,或者提供一个表格来自动生成并复制并粘贴到您计算机中的文件。
不在服务器端生成证书发送给客户端。这是一个关键且高风险的过程。如果该过程不安全,您的 CA 将无效,并且不会被认证(假设您需要它)。
选项:
在客户端生成密钥对和 CSR,将 CSR 发送到服务器并接收签名证书: 您可以使用 openssl,一个本地应用程序,一个 HTML 表单,或使用 WebCryptographyApi(或其他 javascript 库)使过程自动化
在服务器中生成证书并远程使用:证书必须方便安全,主要使用HSM(在欧盟,强制想要存储用户证书的可信 CA),并且证书的使用被凭据锁定。通常使用双因素身份验证。例如 username/password + 短信