Zeitstempeldienst der DFN-PKI

Auf dieser Seite erfahren Sie, wie Sie den Zeitstempeldienst der DFN-PKI konfigurieren.
Der Zeitstempeldienst dient dazu, den Status quo einer Datei zu einem bestimmten Zeitpunkt durch eine vertrauenswürdige Instanz (z.B. DFN-PKI) zu bescheinigen.
Der Zeitstempeldienst der DFN-PKI kann im Rahmen der DFN-Satzung für nicht gewerbliche Zwecke verwendet werden. Ein eigenes bzw. gesondertes Zertifikat ist hierfür nicht nötig.
Der Zeitstempelserver ist über den folgenden Link erreichbar (eine Abfrage diese URL im Browser ist nicht möglich!):
http://zeitstempel.dfn.de
Der Zeitstempeldienst kann in Adobe Acrobat, openssl (ab Version 1.0) oder in Komponenten von Microsoft bzw. Java verwendet werden. Zudem steht für Java und C# die Bibliotheken BouncyCastle zur Verfügung bzw. mit BouncyCastlePP ein Port von BouncyCastle für C++.
Laut Information des DFN soll openssl (>= 1.1.xx) funktionieren. Um openssl selbst zu bauen, gehen Sie bitte wie folgt vor:
cd ~
git clone https://github.com/openssl/openssl.git
cd openssl
./Configure linux-x86_64
./config --prefix=${HOME}/opt/openssl --openssldir=${HOME}/opt/openssl
make
make test
export OPENSSL=${HOME}/opt/openssl
export C_INCLUDE_PATH=$OPENSSL/include
export LIBRARY_PATH=$OPENSSL/lib
export LD_LIBRARY_PATH=$LIBRARY_PATH:$LD_LIBRARY_PATH
export OPENSSL_PREFIX=${OPENSSL}
echo ${OPENSSL}
echo ${C_INCLUDE_PATH}
echo ${LD_LIBRARY_PATH}
echo ${OPENSSL_PREFIX}
${HOME}/opt/openssl/bin/openssl
OpenSSL> version
OpenSSL 1.1.1-pre5-dev xx XXX xxxx
OpenSSL>
[[ -f ${HOME}/opt/openssl/bin/openssl ]] && (export MYOPENSSL="${HOME}/opt/openssl/bin/openssl") || (export MYOPENSSL="openssl")Beispiel-Code erzeugen:
echo -e "#\!/usr/bin/env bash\n\n#© by ra@rwth-aachen.de\n\n echo 'hello dfn timestamp world'\n\n#########\n# EOF" > dfn-timestamp-test.sh
chmod 750 dfn-timestamp-test.sh
./dfn-timestamp-test.sh
hello dfn timestamp worldErzeugen des "timestamp request":
${MYOPENSSL} ts -query -data dfn-timestamp-test.sh -cert -sha256 -no_nonce -out dfn-timestamp-test.tsqDen "timestamp request" an der Zeitstempel-Server übermitteln:
curl -s -S -k -H "Content-Type: application/timestamp-query" --data-binary @dfn-timestamp-test.tsq "http://zeitstempel.dfn.de" -o dfn-timestamp-test.tsrVerifikation des Zeitstempels:
wget https://pki.pca.dfn.de/dfn-ca-global-g2/pub/cacert/chain.txt
${MYOPENSSL} ts -verify -in dfn-timestamp-test.tsr -data dfn-timestamp-test.sh -CAfile chain.txt
${MYOPENSSL} ts -verify -queryfile dfn-timestamp-test.tsq -in dfn-timestamp-test.tsr -CAfile chain.txtIm Falle eines OpenSSL-Fehlers "... time stamp routines: TS_CHECK_SIGNING_CERTS ..."
wget https://info.pca.dfn.de/doc/timestampverifier-latest.tar.gztar zxvf timestampverifier-latest.tar.gz
cd timestampverifier-1.1sed -i 's/request=req.tsq/request=$1/' verify.sh
sed -i 's/java -cp/echo -e "\\n#############################################\\n\\n"\njava -cp/' verify.sh./verify.sh ../dfn-timestamp-test.tsqHier sollte dann "Data in response matches data in request." erscheinen.
${MYOPENSSL} ts -reply -in resp.tsr -textVerifizieren der "timestamp response":
openssl ts -reply -in dfn-timestamp-test.tsr -text
Status info:
Status: Granted.
Status description: Operation Okay
Failure info: unspecified
TST info:
Version: 1
Policy OID: 1.3.6.1.4.1.22177.300.22.1
Hash Algorithm: sha256
Message data:
0000 - 79 ae 3e 21 6f 52 92 ea-f0 00 78 73 fe 95 06 2b y.>!oR....xs...+
0010 - ce 0c 26 29 89 8f e2 62-dd 9c 06 a5 3a 1f b9 dc ..&)...b....:...
Serial number: 0x840AA89C8C03C5373E2680B1A2F61CBE132EBBF1
Time stamp: Nov 30 08:50:24 2016 GMT
Accuracy: unspecified
Ordering: no
Nonce: unspecified
TSA: unspecified
Extensions:Weitere Informationen:
- RFC 3161 - " Internet X.509 Public Key Infrastructure Time-Stamp Protocol "
- Verordnung (EU) Nr. 910/2014 des europäischen Parlaments und des Rates über elektronische Identifizierung und Vertrauensdienste für elektronische Transaktionen im Binnenmarkt und zur Aufhebung der Richtlinie 1999/93/EG
- Bundesdruckerei: "D-TRUST Zeitstempel - Informationen zu den Leitlinien der Public-Key-Infrastruktur (PKI) "
- Ruhr-Uni-Bochum: Kryptografie mit Bouncy Castle
- Wikipedia: Comparison of cryptography libraries
- Microsoft: CryptRetrieveTimeStamp function
- BSI:
- Elektronische Signaturen, Siegel und Zeitstempel
- eIDAS-Verordnung über elektronische Identifizierung und Vertrauensdienste
- DFN-PKI
- Die Sectigo-PKI bietet folgenden Zeitstempeldienst an.

