問題タブ [xml-signature]
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.
xml - XMLデジタル署名用のコマンドラインツール
XMLデジタル署名用のコマンドラインツールはありますか?
私はここで1つ見つけました:http: //www.codeproject.com/KB/security/xmldsiglic.aspx ですが、.NET Frameworkが必要であり、.NETなしで動作することを望んでいます
xml - Oracle 9i PL/SQLを使用してXMLドキュメントにデジタル署名する方法
次のような単純なXMLドキュメント(doc.xml)があるとします。
そして証明書ファイル:test.p12
http://www.w3.org/2000/09/xmldsig#に従ってXMLドキュメントにデジタル署名するOracle9iPL/SQLを使用してソリューションを作成する方法
デジタル署名フォーム(例:エンベロープ)とメソッド(例:RSAwithSHA1)の例は素晴らしいでしょう。
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 で失敗します。さて、私の具体的な質問です。次に何ができますか?
ジェフ
wcf - WCF クライアントで SAML 2.0 アサーションを SOAP ヘッダーに追加するにはどうすればよいですか?
以下のSOAPヘッダーの例から saml 2.0 アサーション ノードを追加しようとしています。
私は何日も研究してきましたが、WCF でこれを行う簡単な方法を思いつくことができないようです。Web サービスは Glassfish で実行されており、soap 1.1 です。パッケージ化されたすべての wcf バインディングを使用してみましたが、動作させることができませんでした。私は MessageInspector を使用する道を歩み始め、それを書きましたが、もっと良い方法があるに違いないことに気付きました。確かに、WCF は saml 2.0 アサーションを挿入する方法を提供します。私はカスタム バインディングの作成で最も進歩しました。soap ヘッダーでタイムスタンプ ノードと署名ノードを取得できましたが、一生の間、saml アサーションを理解することはできません。何か案は?
php - PHP を使用した、リモート証明書に対する XML 署名の検証
私は、削除サーバーにある公開鍵に対して XML ファイル (SAML アサーション) に埋め込まれた署名を検証する必要があるプロジェクトに取り組んでいます。
PHPでこれを行った人はいますか?
c# - C# で XmlDsigC14NTransform クラスを使用する方法
System.Security.Cryptography.Xml.XMLDsigC14nTransform
c# .net Framework 2.0 のクラスを使用して、xml ノードを正規化しようとしています。
このインスタンスは、NodeList、Stream、および XMLDocument の 3 つの異なる入力タイプを想定しています。これらすべての入力タイプで変換を試みましたが、異なる結果が得られました。私が本当にやりたいことは、単一のノードを正規化することですが、出力ファイルでわかるように、出力には内部の xml が含まれていません。
XML ノードを正規化する適切な方法についての提案は、非常に高く評価されています。一番、
sign.xml
Child1.xml
doc.xml
ms.xml
ms2.xml
java - 配布された証明書を使用して Axis2 XML 署名を生成する方法
多少問題があります。
情報を補完し、外部システムにリクエストを送信できるようにする Web サービスと対話する集中型インターフェイス エンジンがあります。これをこのプロバイダーからの必要なセキュリティと統合する必要があるまでは、これはすべて問題ありません。
彼らは、ソフトウェアがそのシステム (Web サービス) と対話するためにエンド ユーザーが使用する必要があるスマート カード (usb キー) を介して配布される証明書を発行します。彼らは、(場合によっては複数の) 署名がエンドユーザーの USB キーの証明書に対して行われることを主張します。もちろん、秘密鍵はパスワードで保護されています。
最終的にこれらすべてを処理する Axis2 を、エンドユーザーのコンピューターにある証明書に接続するにはどうすればよいですか。
システムはほとんどが Delphi 5 の従来のシック クライアント アプリケーションであり、インターフェイス エンジンは主にデータベースと対話します。これで、単純な TCP ソケットを介してエンド ユーザーのステーションをインターフェイス サーバーに効果的に接続するコードを接続することができました。
----編集----
CXF (Axis から変更) 内のカスタマイズされた署名インターセプターを使用してソリューションを実装しました。このソリューションは、メッセージの内容を署名プロキシに転送し、署名プロキシは、元の要求が発生したユーザー対話型セッションで実行されている適切な署名サービスを見つけて接続します。
Eugene の回答を受け入れました。なぜなら、彼が指定したコンポーネントを使用しなかったにもかかわらず、彼の提案の一般的なガイドラインに従ったソリューションを実装したからです。
USB トークンが原因で、署名がユーザー対話型セッションで行われなければならないという事実を回避することはできません。従来のシステムを使用していたことと、システムを共有環境 (リモート デスクトップ サーバー) で動作させる必要があったため、追加の制約が課せられました。可能性はありますが、Web サービス フレームワークや暗号化ライブラリによって自然にサポートされているわけではありません。
java - 発信SOAPメッセージにXML署名を適用する方法
cxfcodegenを使用してスタブとバインディングを生成しました。すべてが正常に実行されますが、セキュリティの問題のため、サーバーはメッセージを拒否します。基本的に私は3つの層を持っており、そのすべてに証明書が必要です(私は持っています)。
- パイプ上のSSL暗号化
- 特定のデータ要素の証明書署名
- ペイロードデータの証明書XML署名。
スープに少しスパイスを加えるために、私は実際の署名と証明書を完全に制御することはできません。基本的に、適切なデータを抽出し、署名するために送信し、署名されたデータをトランザクションに再注入する必要があります。
私がアクセスできる証明書は、ローカルマシンのWindows証明書ストアにあります(SSLといくつかの署名)
ドキュメントを読むと、フレームワークはconfigvoodoomagicに大きく依存しているようです。残念ながら、私が見つけたリンクのほとんどは、証明書を生成する方法を詳細に説明するのに多くの時間を費やしていますが、実際に証明書を使用する方法についてはかなり簡潔です。
CXFを使用してこれを達成するにはどうすればよいですか?
適切なフックにアクセスするにはどうすればよいですか?また、どのコードを使用してメッセージに署名を挿入できますか?
ありがとう
c++ - MSXML 5 を使用せずにネイティブ C++ で XML デジタル署名を検証する方法は?
基本的なアプリのライセンスに XML dsig を使用することを検討しています。アプリはネイティブ Windows コード (.net なし) です。.net を使用して dsig をオフラインで簡単に作成できますが、ネイティブの C++ で検証したいと考えています。私がこれまでに見つけたものから、MSXML V5 は仕事をしますが、使用してはならず、V6 は dsig のサポートを削除します。
では、ネイティブ C++ の .net コードによって生成された XML dsig を簡単に検証するにはどうすればよいでしょうか?
java - JavaXMLDSigおよびXPath
Java XMLDSigAPIを使用してXMLドキュメントの一部に署名しています。ダイジェスト値にどのように到達しているかを理解しようとしています。
私のドキュメントは次のとおりです。
私のxpath式は次のとおりです。
私がやろうとしていることは:
- Java DSIGライブラリを呼び出して、生成されたダイジェストの値を表示します。
- MessageDigest(SHA-1)クラスを使用して、値「bar」をダイジェストします。
- 1と2のダイジェストが一致することを確認します。
これを行うと、1と2は異なるダイジェスト値を生成します。DSIGコードで何か完全に間違ったことをしている、またはDSIGがどのように機能するのか理解していません。何か案は?
これが私のテストコードです(申し訳ありませんが、とても長いです...私はperlに戻る必要があります):