Как проверить цифровую подпись XML в Какао? - PullRequest
1 голос
/ 30 мая 2010

У меня есть приложение C #, которое использует цифровые подписи XML для подписи файлов лицензий. Я использовал стандартный подход Microsoft, описанный здесь .

Я портирую приложение на MAC и мне нужно проверить подпись. Мой общий вопрос: как лучше это сделать?

Вот что я сделал:

  • Я использовал macport для установки библиотеки Алексея xmlsec1.

  • Использовал библиотеку Chilkat для преобразования моего открытого ключа XML в файл PEM

    Chilkat.PublicKey pubKey = новый Chilkat.PublicKey (); pubKey.LoadXml (publicKeyXml); pubKey.SaveOpenSslPemFile ( "publicKey.pem");

  • Скомпилировал и запустил пример программы alekseys. См. (http://www.aleksey.com/xmlsec/api/xmlsec-verify-with-key.html) для проверки XML-кода.

Результат: мои файлы лицензий не проходят проверку. Сбой вызова xmlSecDSigCtxVerify со статусом = неизвестно. Теперь для моего конкретного вопроса: что я могу делать дальше?

Geoff

1 Ответ

3 голосов
/ 18 июня 2010

Решение было определить ниже:

\#define XMLSEC_NO_SIZE_T

перед включением любого из заголовочных файлов xmlsec. В противном случае тип xmlSecSize будет определен иначе, чем когда программа была собрана на Mac, и структура xmlSecDSigCtx будет выглядеть поврежденной для библиотеки. См. Xmlsec.h для более подробной информации.

...