Auszug angefordert Gültigkeitsdauer von einer Certificate Signing Request mit OpenSSL
Verwenden wir eine private Zertifizierungsstelle angetrieben von OpenSSL zur Authentifizierung unserer Kunden. Wir bieten ein einfaches, web-basiertes Dienstprogramm, das Ihnen erlaubt, laden Sie eine CSR-Datei, die für die Zertifizierungsstelle zu unterzeichnen.
Im moment, wir können nur Zertifikate für einen bestimmten Zeitraum, derzeit 365 Tagen. Allerdings haben unsere Kunden gefragt, ob Sie können die Gültigkeit Ihrer Zertifikate statt.
Ich würde es vorziehen, nicht zu haben, um den Benutzer zu Fragen, welche Gültigkeit Sie wollen, weil Sie geben Sie eine Gültigkeitsdauer beim generieren einer CSR -, und es macht Sinn zu extrahieren, die in diesem Zeitraum aus der CSR bei der Unterzeichnung der Urkunde. Allerdings kann ich nicht herausfinden, wie es zu tun: die normalen Dinge, die OpenSSL können Sie tun, um debug-CSRs, - Zertifikaten und-Schlüsseln zeigen nicht den relevanten Informationen: hier ist ein Beispiel für die Ausgabe von "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/[email protected]
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
Keine Erwähnung der beantragten Gültigkeitsdauer überall.
Irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich versucht herauszufinden, wie Anfrage eine bestimmte Gültigkeitsdauer in der CSR, und soweit ich das beurteilen kann, der von CSR nicht einfach tragen, dass die Informationen. Die CSR-Struktur definiert ist im PKCS#10 /RFC2986, und es muss nicht ein Feld speziell für einen gewünschten Gültigkeitsdauer. Die Attribute und Erweiterungen, die kann man in die CSR sind aufgelistet in PKCS#9, und es gibt dort nichts über die Gültigkeitsdauer. Und schließlich, kann ich eine
openssl asn1parse
auf meine generierte CSR und finden, dass es keine Gültigkeit-Zeitraum-bezogene Informationen enthalten, unabhängig von dem, was ich zumopenssl req
.-days 3650
argument zu der Unterzeichnung Befehl, ich bin in der Lage, um die Gültigkeit des generierten Zertifikats. Etwas entlang der Linien vonopenssl ca -policy policy_anything -out newcert.pem -days 3650 -infiles newreq.pem
Stolperte ich über Sie Frage, während die Erforschung der Wirksamkeit von CSR. Wie andere erwähnt haben, die Gültigkeitsdauer ist nicht enthalten in der CSR, aber ich war neugierig auf die
-days
option eine Menge Leute sind in Ihren Beispielen für die Erstellung eines CSR. Nach dem Lesen der Dokumentation von OpenSSL es ist ganz klar:und die
-x509
option gibt einem selbst signierten Zertifikat, statt Zertifikat-AnforderungWenn Sie Anfrage für einen bestimmten Gültigkeitszeitraum für das Zertifikat beim generieren des CSR, seine ungewisse zu erwarten, dass die Gültigkeit akzeptabel von CA. Die meisten CA 's würde es vorziehen, eine vordefinierte Gültigkeitsdauer und nur wenige CA' s sind OK mit der gewünschten Gültigkeitsdauer und generieren Sie die CSR entsprechend. Jetzt kommt der Punkt, den CSR-ASN.1 Struktur nach PKCS#10-standard nicht spezifiziert die Gültigkeitsdauer. Und damit Sie nicht extrahieren kann, dass Informationen aus der CSR.
Versuchen, hinzufügen
-days xx
parameter zu Ihrer Anfrage Erstellung-Befehl