Как да проверя XML цифров подпис в Cocoa?

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

Пренасям приложението към MAC и трябва да проверя подписа. Общият ми въпрос е как най-добре да направя това?

Ето какво направих:

  • Използвах macport, за да инсталирам xmlsec1 библиотеката на Aleksey.

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

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

  • Компилира и изпълни примерната програма на алексейс. Вижте (http://www.aleksey.com/xmlsec/api/xmlsec-verify-with-key.html), за да проверите XML dsig.

Резултат: лицензните ми файлове не успяват да бъдат валидирани. Извикването на xmlSecDSigCtxVerify е неуспешно със status=unknown. Сега за конкретния ми въпрос: Какво мога да направя след това?

Джеф


person Geoff    schedule 29.05.2010    source източник


Отговори (1)


Решението беше да се дефинира по-долу:

\#define XMLSEC_NO_SIZE_T

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

person Geoff    schedule 18.06.2010