Versuch der Abfrage eines Zeitstempels (RFC 3161) mit BouncyCastle und Verbindung zu http://timestamping.edelweb.fr/service/tsp . Ich erhalte zwar eine TimestampResponse vom Server zurück, doch scheint diese kein tatsächliches Datum zu enthalten.
Dies ist der Code:
public static void main(String[] args) {
String ocspUrl = "http://timestamping.edelweb.fr/service/tsp";
byte[] digest = "hello".getBytes();
OutputStream out = null;
try {
TimeStampRequestGenerator reqgen = new TimeStampRequestGenerator();
TimeStampRequest req = reqgen.generate(TSPAlgorithms.SHA1, digest);
byte request[] = req.getEncoded();
URL url = new URL(ocspUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-type", "application/timestamp-query");
con.setRequestProperty("Content-length", String.valueOf(request.length));
out = con.getOutputStream();
out.write(request);
out.flush();
if (con.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException("Received HTTP error: " + con.getResponseCode() + " - " + con.getResponseMessage());
}
InputStream in = con.getInputStream();
TimeStampResp resp = TimeStampResp.getInstance(new ASN1InputStream(in).readObject());
TimeStampResponse response = new TimeStampResponse(resp);
response.validate(req);
System.out.println(response.getTimeStampToken().getTimeStampInfo().getGenTime());
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Hier die Frage(n): Hat jemand die Bibliothek von Bouncycastle für Zeitstempel verwendet und weiß zufällig etwas über die verschiedenen Statuscodes und was sie bedeuten? Oder nur im Allgemeinen, warum dies nicht scheinen zu funktionieren.
Diese Zeile, wo ich erwarte, ein Datum zu sehen, wirft nur einen NullPointer:
System.out.println(response.getTimeStampToken().getTimeStampInfo().getGenTime());
Kennt jemand andere RFC 3161-konforme Zeitstempel-Server, die kostenlos sind?
Wenn Sie den Code ausführen möchten, benötigen Sie die bouncycastle jars, die Sie hier herunterladen können aquí . Sie benötigen: Provider, Post, tsp.
Danke