Как проверить цифровую подпись XML в Какао?
-
05-10-2019 - |
Вопрос
У меня есть приложение 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.