2016-12-09 2 views
1

Wenn 'Schlüssel' im folgenden Code ein abgelaufenes Zertifikat ist, wird res immer falsch sein, unabhängig von der Gültigkeit der Signatur?Verletzt das NodeJS-Krypto-Modul die Verifizierung, wenn das RSA-Zertifikat abgelaufen ist?

var verifier = crypto.createVerify("RSA-SHA1") 
verifier.update(str) 
var res = verifier.verify(key, signatureValue, 'base64') 

Mit anderen Worten, die NodeJS Kryptomodul kümmert sich um Fälligkeits Attest, wenn eine Signatur validieren. Dies alles geschieht im Zusammenhang mit der Validierung eines signierten XML-Dokuments.

Antwort

0

Nein, der Ablauf wird nicht mit dem obigen Code validiert. Wenn Sie anstelle der Signatur direkt den öffentlichen Schlüssel verwenden, erhält der Algorithmus nicht einmal das Gültigkeitsende.

Wenn die key in Ihrem Code kein Schlüssel, sondern ein Zertifikat ist, dann schlägt die Signaturprüfung normalerweise auch nicht fehl. Der Test, um festzustellen, ob das Zertifikat gültig ist, sollte vor durchgeführt werden, die Signatur über die Daten wird verifiziert.

Die Zertifikat Verifikations- und Validierungsprozeduren mit anderen Worten sollte die Überprüfung enthalten, dass das Zertifikat in seinem Gültigkeitszeitraum ist - unter allen anderen Prüfungen. Die Überprüfung der Signatur sollte erst danach erfolgen.

+0

Das Ablaufdatum ist in den Zertifikatwert eingebettet, nicht wahr? Meine Frage ist, ob sich verifier.verify um dieses Datum kümmert oder nicht. – cava23

+0

Ich denke, ich habe es ziemlich deutlich gemacht, dass es nicht so ist. –

Verwandte Themen