2011-01-14 7 views
0

Ich versuche herauszufinden, wie PKCS # 7-Signaturen in VB.net zu generieren und zu überprüfen. Diese Signaturen müssen in einer separaten Datei zu den Daten gespeichert werden, die sie verifizieren (z. B. test.dat und test.dat.sig). Ive fand Codesignaturen in einer anderen Frage zu erzeugen, aber kann nicht herausfinden, wie sieErstellen und Überprüfen von PKCS # 7-Signaturen in VB.net

Public Sub SignFile(ByVal theFilename As String, ByVal theCertFile As String, ByVal thePassword As String, ByVal theDestination As String) 
    Dim aCertificate = New X509Certificates.X509Certificate2(theCertFile, thePassword) 
    Dim aByteArray = IO.File.ReadAllBytes(theFilename) 
    Dim anOid = New System.Security.Cryptography.Oid("1.2.840.113549.1.7.2") 
    Dim aContentInfo = New Pkcs.ContentInfo(anOid, aByteArray) 
    Dim aSignedCms = New Pkcs.SignedCms(aContentInfo, True) 
    Dim aCmsSigner = New Pkcs.CmsSigner(Pkcs.SubjectIdentifierType.IssuerAndSerialNumber, aCertificate) 

    aSignedCms.ComputeSignature(aCmsSigner) 
    Dim aSignature = Convert.ToBase64String(aSignedCms.Encode()) 
    IO.File.WriteAllText(theDestination, aSignature) 
End Sub 

Dank

Antwort

Verwandte Themen