Vis timestampinformation fra exe cab msu osv.

Tags:    vb.net

Hejsa.

Har nu siddet i snart 2 dage, for og finde ud af, hvordan man kan få vist Timestampinformation ( tidspunkt for signering ) af digital signatur, via. vb.net.

Min nuværende kode er.:


Imports System.Security.Cryptography.X509Certificates

Public Class MainClass

Private Sub MainClass_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim instance As TimestampInformation
Dim value As X509Certificate2



Dim cert As X509Certificate = X509Certificate.CreateFromCertFile "Navn på exe, msu, cab osv.")
value = instance.SigningCertificate.(cert)
Console.WriteLine("hash= {0}", cert.GetCertHashString())
Console.WriteLine("effective Date= {0}", _
cert.GetEffectiveDateString())
Console.WriteLine("expire Date= {0}", _
cert.GetExpirationDateString())
Console.WriteLine("Issued By= {0}", cert.GetIssuerName())
Console.WriteLine("Issued To= {0}", cert.GetName())
Console.WriteLine("algo= {0}", cert.GetKeyAlgorithm())
Console.WriteLine("Pub Key= {0}", cert.GetPublicKeyString())
Console.WriteLine("TimestampInfo= {0}", value)

End Sub
End Class

men er helt gået i stå.

Hvordan får jeg værdien over i 'value'..?

Bær over med mig, hvis kode ikke er pro.;)

Mvh.
Robert L.




Indlæg senest redigeret d. 18.02.2014 15:26 af Bruger #18844
3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du har jo effective date allerede. Er det filens oprettelsesdato/tid du ønsker?



Tak for dit svar...

Ja, men har jeg nu også det.:S

For hvis jeg f.eks. tager 'Windows6.1-KB2598845-x64.msu' og køre igennem
kilde koden får jeg...

effective Date= 20-07-2010 00:53:10
expire Date= 20-10-2011 00:53:10

Men ifølge (Højre Klik) Digital signaturer er tidsstemplingen.: 16 august 2011 02:47:28 og

Signtool viser også 16 august 2011









Hvad vil du bruge informationen til?

Hvis du ønsker at checke tidsstemplingen, så bør du få den valideret gennem den Timestamp Authority (TSA), som har genereret tidsstemplet.

Så vidt jeg kan se på X509 klassen, så er du nødt til at bruge GetRawCertData (http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate_methods(v=vs.100).aspx) og så ellers ASN.1 decode selv (og det har du kun lyst til, hvis du pine død skal)



t