如何创建遗留(v1或v2)X.509证书以进行测试

时间:2014-11-06 19:54:36

标签: ssl openssl legacy x509

我必须针对新代码编写一个测试用例,该代码检查以确保X.509证书是版本3,但我需要在测试期间使用一些遗留(v1 / v2)证书来验证代码是否有效。

我正在尝试在Mac上使用openssl生成证书。我得到的只是v3证书。

我通过openssl联机帮助页阅读,并且没有看到有关创建v1或v2证书的信息。

除了在旧硬件上设置旧操作系统并安装旧版本的openssl之外,是否有任何创建旧证书或将v3证书转换为v1 / v2的想法?

1 个答案:

答案 0 :(得分:2)

版本1和版本3证书之间的主要区别是在版本3中添加了证书扩展。

看一下OpenSSL ca command documentation-extensions section选项的文档解释了:

  

包含证书扩展的配置文件部分,在颁发证书时添加(除非使用-extfile选项,否则默认为x509_extensions)。如果没有扩展部分,则创建V1证书。如果存在扩展部分(即使它是空的),则创建V3证书。有关扩展部分格式的详细信息,请参阅:w x509v3_config(5)手册页。

要创建版本1证书,请将openssl命令指向不带扩展部分的配置文件。删除该部分的快捷方法是注释掉或删除阅读x509_extensions = <...>

的行

然后,您应该能够通过运行常用命令来生成版本1证书。例如:

openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr -config /path/to/config-file
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt