Pregunta

Tengo una aplicación de C # que utiliza XML firmas digitales para firmar los archivos de licencia. He utilizado el método estándar de Microsoft describe aquí .

Estoy portar la aplicación a la MAC y la necesidad de verificar la firma. Mi pregunta general es la mejor manera de hacer esto?

Esto es lo que he hecho:

  • He usado MacPort para instalar la biblioteca xmlsec1 Aleksey.

  • Se utiliza la biblioteca Chilkat convertir mi clave pública XML en un archivo PEM

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

  • Compilado y corrió el programa de ejemplo alekseys. Ver ( http://www.aleksey.com/xmlsec/ api / xmlsec-verificar-con-key.html ) para verificar un dsig XML.

Resultado: mis archivos de licencia no pueden validar. La llamada a xmlSecDSigCtxVerify falla con el estado = desconocido. Ahora mi pregunta específica: ¿Qué puedo hacer yo próxima

?

Geoff

¿Fue útil?

Solución

La solución fue definir a continuación:

\#define XMLSEC_NO_SIZE_T

antes de incluir cualquiera de los archivos de cabecera xmlsec. De lo contrario el tipo xmlSecSize se define de manera diferente a cuando el programa se basa en el Mac y la estructura xmlSecDSigCtx aparecerá corrompido a la biblioteca. Ver xmlsec.h para más detalles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top