Question

J'ai une application C # qui utilise des signatures numériques XML pour signer les fichiers de licence. Je l'ai utilisé l'approche standard Microsoft décrit .

Je suis le portage de l'application à la MAC et la nécessité de vérifier la signature. Ma question générale est la meilleure façon de le faire?

Voici ce que je l'ai fait:

  • Je l'ai utilisé MacPort installer la bibliothèque xmlsec1 de Aleksey.

  • Utilisé la bibliothèque Chilkat XML pour convertir ma clé publique dans un fichier PEM

    Chilkat.PublicKey pubkey = new Chilkat.PublicKey (); pubKey.LoadXml (publicKeyXml); pubKey.SaveOpenSslPemFile ( "publicKey.pem");

  • Compilé et a couru le programme échantillon de alekseys. Voir ( http://www.aleksey.com/xmlsec/ api / xmlsec-vérifier avec-key.html ) pour vérifier un XML dsig.

Résultat: mes fichiers de licence ne parviennent pas à valider. L'appel à xmlSecDSigCtxVerify échoue avec l'état = inconnu. Maintenant, pour ma question spécifique: Que puis-je faire

?

Geoff

Était-ce utile?

La solution

La solution a consisté à définir ci-dessous:

\#define XMLSEC_NO_SIZE_T

avant d'inclure l'un des fichiers d'en-tête xmlsec. Dans le cas contraire sera défini le type xmlSecSize différemment au moment où le programme a été construit sur le Mac et la structure xmlSecDSigCtx apparaîtra corrompu à la bibliothèque. Voir xmlsec.h pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top