我们使用由OpenSSL提供支持的私有证书颁发机构来验证我们的客户 . 我们提供了一个简单的基于Web的实用程序,允许他们上载CSR文件以供证书颁发机构签名 .
目前,我们只能签发固定期限的证书,目前为365天 . 但是,我们的客户询问他们是否可以指定证书的有效期 .
我不想询问用户他们想要什么样的有效期,因为他们必须在生成CSR时指定有效期,并且在签署证书时从CSR中提取此期限是有意义的 . 但是我无法弄清楚如何做到这一点:OpenSSL允许您调试CSR,证书和密钥的正常事情不会显示相关信息:这是“openssl req -text -noout <输出的示例” csrfile“:
$ openssl req -text -noout < my.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=GB, L=London, O=example.com, CN=customer/emailAddress=ssl@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c4:3b:11:7f:61:31:19:97:b6:26:19:01:e7:c6:
c3:d5:03:a5:f6:5a:4d:e2:03:d0:4e:76:49:d0:7f:
59:92:bf:5e:12:b3:b0:7e:20:5b:d8:a2:3f:cb:50:
c1:64:e5:48:04:c3:b2:04:e3:f2:4c:2f:0e:e2:a6:
c3:7c:36:24:dc:97:c9:f0:ba:ad:87:0f:71:45:9c:
6a:7f:d4:4c:d5:31:8e:49:a8:e4:3d:c4:ec:5e:54:
bf:f9:ba:ce:21:4c:11:15:7d:f0:d3:7a:77:f6:66:
5d:07:4e:4a:d3:0e:f0:52:0d:d9:cf:81:86:fe:9b:
c8:f8:e4:8d:d6:d1:d0:85:7f
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
5e:4c:38:59:95:e5:11:b4:a3:d5:88:1f:3c:c0:33:67:cb:b2:
14:85:73:c3:5a:b8:23:bf:1d:25:2b:a9:38:93:da:fb:67:17:
26:6c:79:07:dd:7f:3c:3f:b0:33:17:d1:c2:41:f7:c9:ce:1e:
32:1c:a1:a0:a3:50:67:56:1b:58:d9:b4:48:56:70:00:43:22:
a9:0c:17:be:67:42:f4:98:d6:d8:c0:d0:4f:6a:73:d1:a8:57:
91:3c:02:dc:dc:8f:e3:fb:48:28:06:a2:8e:8e:27:b2:39:d7:
3e:ce:63:ae:66:9b:ec:38:ee:09:77:dc:0f:91:40:ab:28:0f:
ae:a9
在任何地方都没有提到所要求的有效期 .
有什么建议?
4 回答
我一直在试图弄清楚如何在CSR中请求一个特定的有效期,据我所知,CSR只是没有在PKCS#10 / RFC2986中定义结构,并且它没有任何东西 . 关于有效期 . 最后,我可以对生成的CSR进行
openssl asn1parse
,并发现无论我传递给openssl req
,都没有包含与有效期有关的信息 .在研究CSR的有效性时,我偶然发现了你的问题 . 正如其他人所提到的,有效期不包括在CSR中,但我对很多人在创建CSR的示例中包含的
-days
选项感到好奇 . 阅读documentation of OpenSSL后,很清楚:并且
-x509
选项输出自签名证书而不是证书请求虽然您为证书申请了一定的有效期,但在生成CSR时,不确定CA是否可以接受该有效期 . 大多数CA会更喜欢预定义的有效期,并且很少CA可以使用所请求的有效期并相应地生成CSR . 现在谈到,根据PKCS#10标准的CSR ASN.1结构没有规定有效期 . 因此,您无法从CSR中提取该信息 .
尝试将
-days xx
参数添加到请求创建命令中