問題タブ [xmlsec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2779 参照

c - CのXML署名検証ライブラリ?

XML署名を検証するために利用できるC言語のライブラリはありますか? http://santuario.apache.org/cindex.htmlから C++ のライブラリを 1 つだけ見つけることができました。

0 投票する
1 に答える
83 参照

xml - xmlsecは終了時に0を返しますか?

ファイルが適切に認証されている場合にxmlsecが0を返すかどうかを知る必要がありますか?

0 投票する
2 に答える
12076 参照

php - PHP/Linux ツールを使用してエンベロープ XML 署名の DigestValue と SignatureValue を生成する方法

XML 署名 (WSDL) の DigestValue と SignatureValue を生成する方法の例をいくつか見つけようとしています。

以下は、アプリケーションのサンプル SOAP です。

アプリケーション プロバイダーからの 1 つの例があり、サンプルと同じ DigestValue と SignatureValue を生成できないようです。アプリケーションのドキュメントによると、 Body セクション全体から digestValue を作成する必要があります。

正規化、sha1、次に base64 エンコードする必要があることはわかっています。しかし、ボディセクションを正規化するにはどうすればよいですか? (sha1 および base64 エンコードは理解するのに十分簡単です)。

最初に、文字列変数を作成してみたいと思います:

しかし、PHPにはc14n関数のようなものがないことがわかりました(少なくともvarのような文字列、およびPHP 5.2以下ではありません。心配する必要はありません。私は5.2.6を持っています)。

xmlseclibs.php コードを調べたところ、DOMelement オブジェクトを使用して C14N 関数を取得しているようです。私はDOMelementが何であるかについてあまりよく知りません..

xmlseclibs.php を使用して XML に署名しようとしましたが、うまくいかないようで、アプリケーションから「署名が無効です」というエラーが表示されました。

誰かが初心者を啓発するのを手伝ってもらえますか (読んでください、私 :) ) ?

ご協力感謝いたします。

0 投票する
1 に答える
892 参照

c++ - libxmlsec を使用してメモリーから RSA 秘密鍵をロードする

現在、C++ ソフトウェアでlibxmlsecを使用しており、メモリから RSA 秘密鍵をロードしようとしています。これを行うために、API を検索したところ、この関数が見つかりました。

バイナリ データ、サイズ、フォーマット文字列、およびいくつかの PEM コールバック関連のパラメーターを使用します。

関数を呼び出すと、スタックし、CPU 時間を 100% 使用して戻りません。何が間違っているのかを知る方法がないので、かなり面倒です。

これが私のコードです:

dataは、私の RSA キー ( OpenSSLのを使用) の raw バイトとのサイズをconst char*指しています。i2d_RSAPrivateKey()datalendata

テスト用の秘密鍵にはパスフレーズがないため、当面はコールバックを使用しないことにしました。

誰かがすでに似たようなことをしていますか? この問題を解決するために変更/テストできることはありますか?

昨日ライブラリを発見したばかりなので、ここで何か明らかなことを見逃しているかもしれません。私はそれを見ることができません。

ご助力ありがとうございます。

0 投票する
2 に答える
2570 参照

c++ - libxml2 と xmlsec でデバッグ出力を無効にする

私のソフトウェアでは、libxml2xmlsecを使用して (明らかに) XML データ構造を操作しています。私は主に XSD スキーマ検証を使用していますが、これまでのところうまく機能しています。

クライアントによって入力されたデータ構造が XSD スキーマと一致しない場合、libxml2 (または xmlsec) はいくつかのデバッグ文字列をコンソールに出力します。

以下に例を示します。

これらの文字列はデバッグ目的には役立ちますが、リリースされたソフトウェアのコンソール出力に表示されて汚染されることは望ましくありません。これまでのところ、これを行う公式の方法を見つけることができませんでした。

デバッグ出力を抑制する方法、または (さらに良い) カスタム関数にリダイレクトする方法を知っていますか?

どうもありがとう。

0 投票する
1 に答える
1437 参照

cocoa - Cocoa で XML デジタル署名を検証するには?

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 で失敗します。さて、私の具体的な質問です。次に何ができますか?

ジェフ

0 投票する
1 に答える
614 参照

c - SSL 秘密鍵を文字列に変換する

pkcs12 ファイルから、次を使用して秘密鍵と証明書を抽出しました - PKCS12_parse(p12, argv[2], &privatekey, &cert, &ca);

ここで、秘密鍵と証明書を使用して、xmlsec ライブラリを使用して XML に署名する必要があります。

ただし、xmlSecCryptoAppKeyLoad() は const char* 形式のキーを想定しています。

どうすれば変換できますか?

または、変換せずに xmlSecCryptoAppKeyLoadMemory() と privatekey を使用できますか?

0 投票する
1 に答える
2884 参照

apache - XMLSec:署名の何が問題になっていますか?(「URIの参照にはXMLSignatureInputがありません」)

私はapache-santuario1.4.4を使用して、この署名されたメッセージを生成しています。

使用しているサービスに送信すると、次のように応答します。

私はたくさんグーグルで検索しましたが、このエラーについてはほとんど何も見つかりませんでした。参照は正しく宣言されていませんか?何が間違っている可能性がありますか?任意のアイデアをいただければ幸いです。

前もって感謝します。

0 投票する
2 に答える
8008 参照

java - Java XML Digital Signature API を使用した xml 署名のダイジェスト値が間違っている

署名済みの XML ファイルをブラジルの政府機関に送信する必要があります。問題は、Java コード ( Java XML Digital Signature APIを使用) によって計算されたダイジェストが、 XMLSECなどの別のツールで生成されたダイジェストと異なることです。

XML ノードの XML 署名を生成するために使用するコードを次に示します。

生成された XML を xmlsec で検証しようとすると、次のエラーが発生します。

しかし、まったく同じファイル (consult.xml) に (同じ秘密鍵を使用して) xmlsec で署名しようとすると、そのエラーはなくなります。

Consult.xml と doc-signed.xml (xmlsec で生成) の違いは、SignatureValue タグと DigestValue タグの内容です。

Consulta.xml:

doc-signed.xml:

どちらのファイルも同じであり、この投稿がさらに冗長になるため、残りのファイルは投稿しません。

私が収集した情報によると、この XML ファイルを受け取る Web アプリは .NET アプリケーションであり、私の Java コードとは異なる署名ダイジェストを計算します (xmlsec とよく似ています)。何か案は?