2017-12-31 55 views
0

Mit Bouncy Castle und C#, ich benötige ein Zeitstempel Token mit den Zertifikaten enthalten (timestampRequestGenerator.SetCertReq(true)) und ich bekomme eine Antwort deutlich größer als bei der Einstellung SetCertReq bis false, so Ich nehme an, dass die Antwort irgendwo die öffentlichen Schlüsselzertifikate verwendet, um den Zeitstempel zu generieren.So extrahieren Sie Zertifikate aus einer Zeitstempel Antwort in Bouncy Castle

Wie kann ich auf diese Zertifikate mit Bouncy Castle zugreifen? Ich habe das Antwortobjekt in Visual Studio untersucht, aber nicht gefunden, wo die Zertifikate sind.

Stream inputFile = File.OpenRead("response-with-certs.tsr"); 
TimeStampResponse response = new TimeStampResponse(inputFile); 
inputFile.Close(); 
+0

Angeblich soll (nach dem hier suchen: https://www.bouncycastle.org/docs/pkixdocs1 .4/org/bouncycastle/tsp/TimeStampResponse.html) würde es eine 'Encoded' Eigenschaft oder' GetEncoded() 'Methode geben. Wenn Sie dies erfassen (mit 'Convert.ToBase64String'), können wir asn1 zusammen überprüfen, um zu überprüfen, wo sich die Zertifikate befinden. – zaitsman

+0

Tatsächlich einige Beispielcode hier gefunden: https://www.digistamp.com/toolkitDoc/comNetToolkit/DigiStampCS.txt Sie sollten in der Lage zu tun, "response.TimeStampToken.GetCertificates (" Sammlung ")', um das cert Sammlung aus – zaitsman

+0

Vielen Dank @Zaitsman, es hat funktioniert. Wenn du willst, kannst du es bitte als Antwort schreiben, damit ich es annehmen kann? – Victor

Antwort

0

Wie in den Kommentaren erwähnt, sollten Sie in der Lage sein, das Zertifikat Sammlung abzurufen, wie so:

response.TimeStampToken.GetCertificates("Collection"); 
Verwandte Themen