mira sEtH no se si esto te pueda ayudar hace uso del componente chilkatcrypt
puedes descargar el componente desde
Aqui, segun lo que lei crea y verifica una firma digital
Dim crypt As New ChilkatCrypt2
crypt.UnlockComponent "test"
' Select a digital certificate for signing.
Dim StoreCreator As ChilkatCreateCS
Set StoreCreator = New ChilkatCreateCS
' Create a certificate store object representing the registry-based
' current user certificate store.
Dim certStore As ChilkatCertStore
Set certStore = StoreCreator.OpenCurrentUserStore()
' Find a certificate matching an email address.
Dim cert As ChilkatCert
Set cert = certStore.FindCertBySubjectE("test@chilkatsoft.com")
If (cert Is Nothing) Then
MsgBox "Certificate not found!"
Exit Sub
End If
' Use this certificate.
crypt.SetSigningCert cert
Dim fileData As Variant
Dim sigData As Variant
fileData = crypt.ReadFile("sample.pdf")
If IsNull(fileData) Then
MsgBox crypt.LastErrorText
Exit Sub
End If
sigData = crypt.SignBytes(fileData)
If IsNull(sigData) Then
MsgBox crypt.LastErrorText
Exit Sub
End If
success = crypt.WriteFile("signature.dat", sigData)
If (success = 0) Then
MsgBox crypt.LastErrorText
End If
MsgBox "OK!"
' Now verify it...
Dim sigData2 As Variant
sigData2 = crypt.ReadFile("signature.dat")
If IsNull(sigData2) Then
MsgBox crypt.LastErrorText
Exit Sub
End If
sigOK = crypt.VerifyBytes(fileData, sigData2)
If (sigOK = 1) Then
MsgBox "Signature is valid, the file is unchanged."
Else
MsgBox "Invalid signature, the file may have been altered."
End If