设置一个开发环境来处理有效的CA文件,以及有效的SSL证书,还要testing撤销

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

大多数情况下,我们研究http://cweiske.de/tagebuch/ssl-client-certificates.htm

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

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

我们可以通过有效的CA文件,有效的证书,过期的证书来设置整个沙盒环境,甚至更重要的是撤销证书,因为如果证书被吊销,我们需要检查OCSP。

你将如何设置这样一个开发环境来testing这些内部? 我们可以使用什么工具来简化我们的任务?

openssl和一些shell脚本应该足够了。 您可以生成本地信任的CA证书/密钥,对这些证书/密钥进行CSR签名,吊销它们,以及其余所有内容。 还有预先build立的CApipe理GUI和命令行工具集,但最难的是理解它是如何工作的(而且,如果你想要做的不是一个标准的用例,你需要了解它是如何工作的在引擎盖下工作)。 执行所需转换的机制是微不足道的。