1

XML デジタル署名を使用してライセンス ファイルに署名する C# アプリケーションがあります。ここで説明されている標準の Microsoft アプローチを使用しました。

アプリケーションを MAC に移植していて、署名を検証する必要があります。私の一般的な質問は、これを行う最善の方法は何ですか?

これは私がやったことです:

  • macport を使用して、Aleksey の xmlsec1 ライブラリをインストールしました。

  • Chilkat ライブラリを使用して、XML 公開鍵を PEM ファイルに変換しました

    Chilkat.PublicKey pubKey = new Chilkat.PublicKey(); pubKey.LoadXml(publicKeyXml); pubKey.SaveOpenSslPemFile("publicKey.pem");

  • alekseys サンプル プログラムをコンパイルして実行しました。XML dsig を検証するには、( http://www.aleksey.com/xmlsec/api/xmlsec-verify-with-key.html ) を参照してください。

結果: ライセンス ファイルの検証に失敗します。xmlSecDSigCtxVerify の呼び出しは status=unknown で失敗します。さて、私の具体的な質問です。次に何ができますか?

ジェフ

4

1 に答える 1

3

解決策は、以下を定義することでした。

\#define XMLSEC_NO_SIZE_T

xmlsecヘッダーファイルをインクルードする前。それ以外の場合、タイプxmlSecSizeは、プログラムがMacでビルドされたときとは異なる方法で定義され、xmlSecDSigCtx構造がライブラリに対して破損しているように見えます。詳細については、xmlsec.hを参照してください。

于 2010-06-18T12:41:10.147 に答える