Вопрос

У меня есть приложение 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-файл dsig.

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

Джефф

Это было полезно?

Решение

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

\#define XMLSEC_NO_SIZE_T

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top