Schlagwort-Archive: Zeitstempel

Zeitstempeldienst der DFN-PKI jetzt mit SHA-2 Signaturen

Der Zeitstempeldienst der DFN-PKI steht seit 2009 zur Nutzung im Rahmen der Satzung des DFN-Vereins zur Verfügung.

Am 14.04.2016 wurde eine neue Version der Zeitstempel-Server-Software installiert, die die Zeitstempelsignaturen mittels SHA256withRSAEncryption-Algorithmus bildet, um die Zeitstempel mit derzeit als sicher zu betrachtenden Signaturalgorithmen zu erzeugen.

SHA-2 in Zeitstempelanfragen

Um durchgängig SHA-2 zu verwenden, müssen Sie auch bei der Anfrage nach Zeitstempeln auf SHA-2 umsteigen. Bei der Erzeugung einer Zeitstempelanfrage mittels openssl geschieht dies durch die Angabe des Parameters -sha256:

$ echo "Stempel mich!" | openssl ts -sha256 -query -cert > reqest.tsq

Kompatibilität mit openssl

Die Umstellung des Signaturalgorithmus erzwingt eine kleine Änderung der Datenstrukturen der Zeitstempel: Es wird nun zur Identifikation des unterschreibenden Zertifikats anstelle eines Attributs SigningCertificate das Attribut SigningCertificateV2 nach RFC 5035 bzw. RFC5816 aufgenommen.

Hierbei gibt es leider eine Inkompatibilität mit openssl. Der openssl-Code zur Erzeugung und Verifikation von Zeitstempeln ist offensichtlich über 10 Jahre alt, und unterstützt noch kein SigningCertificateV2-Attribut:

https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/ts/ts_rsp_verify.c#L320

Ein Update von openssl wird zur Zeit diskutiert:

https://github.com/openssl/openssl/pull/771

Wegen der fehlenden Unterstützung dieser Datenstruktur, die für aktuelle Signaturalgorithmen zwingend erforderlich ist, kommt es bei der Verifikation von Zeitstempeln mit openssl zu Fehlermeldungen, z. B.:

$ openssl ts -verify -queryfile request.tsq -in response.tsr -CAfile zeitstempel-ca.pem 
Verification: FAILED
139957412427408:error:2F067065:time stamp routines:TS_CHECK_SIGNING_CERTS:
ess signing certificate error:ts_rsp_verify.c:291:

Leider ist die Verwendung des alten Attributs SigningCertificate durch unseren Dienst nicht möglich, da dieses für andere Signaturalgorithmen als SHA-1 verboten ist (siehe https://tools.ietf.org/html/rfc5816#section-2.2.1).

Die sonstigen üblichen Zeitstempel-Clients sind nicht betroffen. jarsigner und Adobe Acrobat unterstützen mittels SHA256withRSAEncryption signierte Zeitstempel nach RFC5816 völlig problemlos.

Alternatives Werkzeug zur Prüfung von Zeitstempeln

Als Alternative stellen wir Ihnen ein Java-Werkzeug zur Verfügung, mit dem Zeitstempel verifiziert werden können. Das Werkzeug benötigt BouncyCastle 1.52, und kann unter folgendem Link heruntergeladen werden:

https://info.pca.dfn.de/doc/timestampverifier-latest.tar.gz

(jbr, 20.04.2016)

Java 7u51 und neuer: Änderungen beim CodeSigning

Seit Java 7u51, das Anfang 2014 herauskam, müssen Applets und Webstart-Anwendungen signiert sein. Sind sie es nicht, verweigern die Default-Sicherheitseinstellungen von Java die Ausführung.

Zum Signieren von Applets oder Webstart-Anwendungen wird das Tool jarsigner verwendet. Die CodeSigning-Zertifikate aus der DFN-PKI können hierfür genutzt werden.

Seit Java 7u51 gibt der jarsigner eine Warnung aus, wenn eine Signatur erstellt wird, ohne gleichzeitig einen Zeitstempel einzubinden. Mit folgendem Aufruf wird eine Signatur unter Verwendung des Zeitstempeldienstes der DFN-PKI erstellt:

jarsigner -tsa http://zeitstempel.dfn.de -keystore <CodeSigning-Zertifikat.p12> -storetype pkcs12

Optional kann, entgegen teilweise anzutreffender Dokumentation, auch noch ein Proxy für den Zeitstempelserver angegeben werden. Die Parameter hierfür sind:

-J-Dhttp.proxyHost=<ProxyHost> -J-Dhttp.proxyPort=<ProxyPort>
Weitere Informationen: https://www.pki.dfn.de/faqpki/faqpki-codesigning/
(jbr, 14.08.2014)