我有一个C#应用程序,该应用程序使用XML数字签名来签名许可证文件。我使用了描述的标准Microsoft方法 这里.

我将应用程序移植到Mac,需要验证签名。我的一般问题是如何最好地做到这一点?

这就是我所做的:

  • 我已经使用Macport安装Aleksey的XMLSec1库。

  • 使用Chilkat库将我的XML公钥转换为PEM文件

    chilkat.publickey pubkey = new Chilkat.publickey(); pubkey.loadxml(publicKeyxml); pubkey.saveopensslpemfile(“ publicKey.pem”);

  • 编译并运行了Alekseys样本程序。看 (http://www.aleksey.com/xmlsec/api/xmlsec-verify-with-key.html)验证XML DSIG。

结果:我的许可证文件无法验证。对XMLSecDigctXverify的调用失败,状态=未知。现在是我的具体问题:下一步该怎么办?

杰夫

有帮助吗?

解决方案

解决方案是在下面定义:

\#define XMLSEC_NO_SIZE_T

在包含任何XMLSEC标头文件之前。否则,XMLSecsize类型的定义将与在MAC上构建的程序何时定义不同,并且XMLSecdSigctx结构将损坏到库中。有关更多详细信息,请参见XMLSEC.H。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top