我尝试在Linux中使用openssl命令创建CA签名的最终实体证书,如下所示:
# openssl genrsa -des3 -out clientkey.pem 2048
# openssl req -new -key clientkey.pem -out clientcert.csr
# cp clientkey.pem clientkey.pem.org
# openssl rsa -in clientkey.pem.org -out clientkey.pem
# openssl x509 -req -days 1 -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial
可以用小时而不是天来指定有效期吗?我需要为某些测试生成有效期为1小时的证书。
Openssl命令似乎支持一些指定startdate和enddate的选项,但我不知道如何使用它。(我假设enddate可能支持指定日期和时间)。
#openssl x509 -req -startdate 120814050000Z -enddate 120814060000Z -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial
unknown option 120814050000Z
usage: x509 args
.
.
-startdate - notBefore field
-enddate - notAfter field
.
.
-days arg - How long till expiry of a signed certificate - def 30 days
5条答案
按热度按时间z2acfund1#
x509指令的-startdate和-enddate选项是显示选项。您可以使用ca指令来设定特定的开始和结束时间,以签署凭证。
请尝试以下操作:
lh80um4z2#
slhcrj9b3#
或者这是我发现的另一种方法
假设我希望我的证书在10分钟后到期,作为测试
当前日期为2月17日
现在是下午4点40分
首先,我将系统日期设置为-1天:2月16日
我将系统时钟设置为+10分钟:下午四点五十分
我使用
openssl x509
创建我的证书,使其在1天内到期,这实际上意味着在今天到期Feb 17th
然后,我重新设置我的系统时钟和时间,以实际的日期和时间,瞧,你有一个证书,将在10分钟内到期!
显然不是真实的的做事方式,但很好,很容易创建自签名证书供开发人员使用。
ggazkfy84#
尝试gossl,它允许以不同的时间单位指定证书有效性开始日期和持续时间。
我开发它是为了克服命令行openssl的限制。这个工具是轻量级的,在Go语言中实现,没有依赖性,在MIT许可证下。
mec1mxoz5#
可以将
-days
选项设置为0:这将创建一个
notBefore
和notAfter
等于当前时间的证书(即,您的证书将立即过期)。