Domanda

Ho un C # applicazione che firma digitale utilizza XML per firmare i file di licenza. Ho usato l'approccio standard di Microsoft ha descritto qui .

sto porting dell'applicazione al MAC e la necessità di verificare la firma. La mia domanda generale è il modo migliore per fare questo?

Questo è quello che ho fatto:

  • Ho usato macport installare biblioteca xmlsec1 di Aleksey.

  • Utilizzato biblioteca Chilkat per convertire la mia chiave pubblica XML in un file PEM

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

  • Compilato e ha eseguito il programma di esempio alekseys. Vedere ( http://www.aleksey.com/xmlsec/ API / xmlsec-verify-con-key.html ) per verificare un dsig XML.

Risultato: i miei file di licenza non riescono a convalidare. La chiamata a xmlSecDSigCtxVerify esito negativo con lo stato = sconosciuto. Ora per la mia domanda specifica: Cosa posso fare successivo

?

Geoff

È stato utile?

Soluzione

La soluzione è stata quella di definire qui di seguito:

\#define XMLSEC_NO_SIZE_T

prima di includere qualsiasi file di intestazione xmlsec. In caso contrario, il tipo xmlSecSize sarà definito in modo diverso a quando il programma è stato costruito su Mac e la struttura xmlSecDSigCtx apparirà corrotto alla biblioteca. Vedere xmlsec.h per maggiori dettagli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top