Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Verify digital signature
Message
De
21/01/2024 16:19:07
John Ryan
Captain-Cooker Appreciation Society
Taumata Whakatangi ..., Nouvelle Zélande
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Verify digital signature
Divers
Thread ID:
01687559
Message ID:
01687559
Vues:
70
All,

Happy New Year! And does anybody have experience confirming that

a) The running VFP exe's digital signature is valid, and
b) That it is signed by us, or a named signatory.

This could also be useful to prevent dll injection for signed dlls or flls from 3rd parties. Even MS's C++ runtime libraries are signed these days.

Looking online, there's decades of struggle attempting to solve this in C++ and NET. Solutions rely on the notoriously tricky WinVerifyTrust() API that tells you whether there's a valid signature, followed by other APIs like CryptQueryObject() to confirm who signed it. However, there's a more recent report that if an exe can have multiple signatures, a hacker can modify the exe and then sign it with their own certificate in a fashion that passes WinVerifyTrust() checks, as well as a second test that your signature is present... even though no longer valid. You can't assume that yours is the valid signature without more work.

This is hardly an unexpected need, so you'd think an easier API would be made available, but apparently not. So if any VFP guru has cracked what seems to be a fairly standard requirement: yes please! Regards, J
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us.
"
-- Shakespeare: Coriolanus, Act 1, scene 1
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform