设置开发环境以使用有效的 CA 文件和有效的 SSL 证书,并测试撤销

设置开发环境以使用有效的 CA 文件和有效的 SSL 证书,并测试撤销

我们有一个内部项目需要允许基于 USB 令牌的身份验证。我们设法了解了它的工作原理,以及如何设置我们的环境(Apache、HTTPS 支持、在浏览器中请求 SSL 验证的证书、从证书识别用户)。

我们大多是在学习之后http://cweiske.de/tagebuch/ssl-client-certificates.htm

现在我们面临的问题是无法生成有效的证书。在项目的这个阶段我们无法购买它们。我们都是开发人员,我们需要测试不同的场景。为了能够构建应用程序登录系统,我们需要生成或模拟工作环境。

  • 这意味着我们需要验证证书是否有效。
  • 证书包含我们所需的唯一ID,例如持有者的姓名和电子邮件。
  • 在不同的 CA 授权文件下颁发的证书可以具有相同的序列号。
  • 证书可以包含多个链,我们需要生成多个有效/失败的链。
  • 证书可能已过期(可能是最容易做到的)
  • 证书可以被撤销。

我们可以做些什么来设置一个包含有效 CA 文件、有效证书、过期证书以及更重要的是已撤销证书的整个沙盒环境,因为我们需要根据 OCSP 检查证书是否被撤销。

您将如何设置这样的开发环境来内部测试这些?我们可以使用哪些工具来简化我们的任务?

答案1

openssl和一些 shell 脚本应该就足够了。您可以生成本地信任的 CA 证书/密钥,用它们签署 CSR,撤销它们,以及所有其他操作。还有预构建的 CA 管理 GUI 和命令行工具集,但难点在于理解这一切是如何工作的(考虑到您想要做的不是标准用例,您将需要了解底层工作原理)。执行所需转换的机制很简单。

相关内容