Versuchen Sie, einen Zeitstempel (RFC 3161) anzufordern, indem Sie BouncyCastle verwenden und eine Verbindung zu http://timestamping.edelweb.fr/service/tsp herstellen. Ich bekomme eine TimestampResponse vom Server zurück, aber es scheint ohne ein aktuelles Datum zu sein.Timestamp Response ist falsch - BouncyCastle
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 ist die Frage (n): Hat jemand BouncyCastle Bibliothek für Zeitstempel verwendet, und geschieht über die verschiedenen Statuscodes kennen und was sie bedeuten? Oder ganz allgemein, warum das nicht zu funktionieren scheint.
Diese Linie, wo ich erwarte, dass ein Datum sehen nur eine Nullpointer wirft:
System.out.println(response.getTimeStampToken().getTimeStampInfo().getGenTime());
jemand von irgendwelchen anderen RFC 3161 konforme Zeitstempel-Server Weiß, die frei sind?
Wenn Sie den Code ausführen möchten, benötigen Sie die Bouncycastle-Gläser, die von here heruntergeladen werden können. Sie benötigen: Provider, Mail, TL.
Dank
Der Link ist gebrochen (404) –