問題タブ [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.
c - CのXML署名検証ライブラリ?
XML署名を検証するために利用できるC言語のライブラリはありますか? http://santuario.apache.org/cindex.htmlから C++ のライブラリを 1 つだけ見つけることができました。
xml - xmlsecは終了時に0を返しますか?
ファイルが適切に認証されている場合にxmlsecが0を返すかどうかを知る必要がありますか?
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 に署名しようとしましたが、うまくいかないようで、アプリケーションから「署名が無効です」というエラーが表示されました。
誰かが初心者を啓発するのを手伝ってもらえますか (読んでください、私 :) ) ?
ご協力感謝いたします。
c++ - libxmlsec を使用してメモリーから RSA 秘密鍵をロードする
現在、C++ ソフトウェアでlibxmlsecを使用しており、メモリから RSA 秘密鍵をロードしようとしています。これを行うために、API を検索したところ、この関数が見つかりました。
バイナリ データ、サイズ、フォーマット文字列、およびいくつかの PEM コールバック関連のパラメーターを使用します。
関数を呼び出すと、スタックし、CPU 時間を 100% 使用して戻りません。何が間違っているのかを知る方法がないので、かなり面倒です。
これが私のコードです:
data
は、私の RSA キー ( OpenSSLのを使用) の raw バイトとのサイズをconst char*
指しています。i2d_RSAPrivateKey()
datalen
data
テスト用の秘密鍵にはパスフレーズがないため、当面はコールバックを使用しないことにしました。
誰かがすでに似たようなことをしていますか? この問題を解決するために変更/テストできることはありますか?
昨日ライブラリを発見したばかりなので、ここで何か明らかなことを見逃しているかもしれません。私はそれを見ることができません。
ご助力ありがとうございます。
c++ - libxml2 と xmlsec でデバッグ出力を無効にする
私のソフトウェアでは、libxml2とxmlsecを使用して (明らかに) XML データ構造を操作しています。私は主に XSD スキーマ検証を使用していますが、これまでのところうまく機能しています。
クライアントによって入力されたデータ構造が XSD スキーマと一致しない場合、libxml2 (または xmlsec) はいくつかのデバッグ文字列をコンソールに出力します。
以下に例を示します。
これらの文字列はデバッグ目的には役立ちますが、リリースされたソフトウェアのコンソール出力に表示されて汚染されることは望ましくありません。これまでのところ、これを行う公式の方法を見つけることができませんでした。
デバッグ出力を抑制する方法、または (さらに良い) カスタム関数にリダイレクトする方法を知っていますか?
どうもありがとう。
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 で失敗します。さて、私の具体的な質問です。次に何ができますか?
ジェフ
c - SSL 秘密鍵を文字列に変換する
pkcs12 ファイルから、次を使用して秘密鍵と証明書を抽出しました - PKCS12_parse(p12, argv[2], &privatekey, &cert, &ca);
ここで、秘密鍵と証明書を使用して、xmlsec ライブラリを使用して XML に署名する必要があります。
ただし、xmlSecCryptoAppKeyLoad() は const char* 形式のキーを想定しています。
どうすれば変換できますか?
または、変換せずに xmlSecCryptoAppKeyLoadMemory() と privatekey を使用できますか?
apache - XMLSec:署名の何が問題になっていますか?(「URIの参照にはXMLSignatureInputがありません」)
私はapache-santuario1.4.4を使用して、この署名されたメッセージを生成しています。
使用しているサービスに送信すると、次のように応答します。
私はたくさんグーグルで検索しましたが、このエラーについてはほとんど何も見つかりませんでした。参照は正しく宣言されていませんか?何が間違っている可能性がありますか?任意のアイデアをいただければ幸いです。
前もって感謝します。
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 とよく似ています)。何か案は?