2010-05-29 53 views
1

我有一個使用XML數字簽名來簽署許可證文件的C#應用​​程序。我使用了標準的微軟方法here如何驗證Cocoa中的XML數字簽名?

我將應用程序移植到MAC並需要驗證簽名。我的一般問題是如何最好地做到這一點?

這是我做了什麼:

  • 我用macport安裝阿列克謝的xmlsec1庫。

  • 使用的奇爾卡特庫到我的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的調用失敗,狀態=未知。現在針對我的具體問題:接下來我可以做什麼?

傑夫

回答

3

的解決方案是以下定義:

\#define XMLSEC_NO_SIZE_T 

包括任何xmlsec頭文件之前。否則,類型xmlSecSize的定義與在Mac上構建程序時不同,xmlSecDSigCtx結構將出現損壞。有關更多詳細信息,請參閱xmlsec.h。