問題タブ [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.

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

xml - XML-sig の信頼できるソース

XML-sig に関して質問があり、オプションの要素と正規化と変換に関する詳細が必要です。私たちは、メディア ファイルのメタデータに入る非常に小さな XML 構文ペイロードの仕様を作成しており、暗号で署名する必要があります。車輪を再発明するのではなく、XML-sig仕様を使用する必要があると考えましたが、そのほとんどは必要なものに対してやり過ぎだと思うので、詳細を知っている人々とより多くの情報/対話をしたいと考えています.

具体的には、XML が非常に基本的で書式設定用のタブがなく、私たちのニーズに固有のものである場合、変換または正規化を気にする必要がありますか?

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

.net - .NET署名付きXMLプレフィックス

署名されたXMLドキュメントの署名(.NetのSignedXmlクラス)にプレフィックスを設定する方法はありますか?

したがって、代わりに:

私は次のものを持つことができます:

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

xml - XML署名に使用するX509証明書のタイプは?

私は現在、XML 署名を使用して 2 台のマシン間でファイルを安全に転送するソフトウェアを開発しています。独自の CA からの X.509 証明書をキーとして使用しています。

CA (Windows 2003 サーバー) は、いくつかの種類の証明書 (電子メール証明書、サーバー証明書など) を提供します。

XML署名用に生成する必要があるのはどれですか? 証明書に署名するための私の知識には「デジタル署名」拡張機能が必要ですが、それは、証明書要求に記入するときに Windows Server 2003 が提供するものにどのようにマップされますか?

また、優れたドキュメントへのポインタも役立ちます.x509に関するGoogle検索は、証明書に関する他のトピックに関する記事のホワイトノイズに溺れています.

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

xml - Web アプリケーションの XML 署名

小規模銀行 (最大 20000 クライアント/ユーザー) 向けの電子バンキング Web アプリケーションを開発しています。支払い情報に署名するために、X509 証明書 (USB トークンで CA によって発行されたもの) を使用したデジタル署名を実装する必要があります。CAPICOM を使ってみましたが、Windows Vista ではうまく動作しないようです (Win 7 では試していません)。もう 1 つの問題は、コア バンキング システムは Xml デジタル署名しか処理できないため、XML ドキュメントに署名する必要があることです (CAPICOM や Win32 Crypto API のようなバルク形式のテキスト データだけではありません)。

ここでの私の質問は次のとおりです。

  • あなたの誰かが同様の問題を抱えていて、どのように解決しましたか?

  • Web アプリケーションで XML デジタル署名をサポートするプラグイン、ライブラリ、コンポーネント、または外部ツール (Internet Explorer および/または Fire Fox 用) はありますか?

  • これらの製品のいくつかをお勧めし、それらについてのあなたの経験について何か書いていただけますか?

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

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

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

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

xml - XML正規化アルゴリズムは、xmlデジタル署名の一部として呼び出された場合と直接呼び出された場合の2つの異なる結果をもたらしますか?

いくつかの xml を直接正規化すると、ハッシュ化する前に xml で同じ正規化アルゴリズムを実行するデジタル署名を実行する場合よりも、同じ xml ドキュメントの 2 つの異なるハッシュが得られますか? デジタル署名の正規化には、正規化時に改行文字「\ n」と空白文字が含まれ、直接アルゴリズムには含まれないことがわかりました。

改行文字+スペースを含めることは、正規化仕様に含まれていませんか? 私は特にこのバージョンを見ています http://www.w3.org/TR/2001/REC-xml-c14n-20010315

誰が何が起こっているのか知っていますか?あなたが見ることができるように、私はxmlドキュメントとコードの両方の実装を含めました。

これは本当に私を困惑させています。理由を知りたいのですが、明らかな何かが欠けていますか?

直接正規化コード

xml デジタル署名コード

どんなアイデアも素晴らしいでしょう!ちなみに、これはすべて C# コードです。

前もって感謝します

ジョン

0 投票する
6 に答える
3543 参照

xml - XMLドキュメントの一部にデジタル署名する

次のような構造のXMLドキュメントがあります

ヘッダー要素とメッセージ要素にデジタル署名し、フッター要素に署名を追加したいと思います。

要素に署名し、後で署名を検証するにはどうすればよいですか(.net c#を使用)?

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

asp.net - XML DSIG 検証

XML ドキュメントにデジタル署名し、2 台の異なるマシンで検証しています (1 つのマシンで署名し、別のマシンで検証しています)。

CSharp.Net で XML DSIG を検証するために、次のことを行っています。

最初は、Web アプリケーションがキー コンテナーにアクセスしようとすると、PermissionDenied 例外が発生していました。ただし、一時的にアプリケーション ユーザーと IIS ユーザーを管理者ロールに追加し、CasPol を使用して Web アプリケーションに FullTrust セキュリティ ポリシーを割り当てました。

Q1: [私の最初の質問はこれを克服する最善の方法は何ですか?? Web アプリケーションに fulltrust を割り当て、ユーザーを管理者の役割に追加することは、うまくいきますが、賢明な考えではありません。

私の 2 番目の質問は、signedXml.CheckSignature(rsaKey);false を返すことに関するものです。私の理解によると、XMLドキュメントは別のマシンでデジタル署名されているため、署名に使用されたMACはそのマシンに保存されていますキーコンテナ名「XML_DSIG_RSA_KEY」ですが、ホストマシンで署名を検証しようとすると、別のMACがホスト マシン上のコンテナー名 "XML_DSIG_RSA_KEY" で生成および格納されたため、デジタル署名は検証されませんでした。

Q2: この仮定は正しいですか?? これに対処する最善の方法は何ですか...その場合、証明書を使用して XML ドキュメントにデジタル署名し、それを検証する必要があります。証明書に DSIG XML ドキュメントを添付する必要がありますか????

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

java - XML ファイルから Java で RSAPublicKey を読み取る

xmlファイルからJavaでRSA公開鍵を読み取る方法は?

これがファイル形式です。

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

php - SAMLを機能させるには、XML署名について何を知っておく必要がありますか?

職場では、SAMLによって検証されたシングルサインオンを使用して他社のWebアプリとインターフェイスする必要があるWebアプリがあります。私たちのウェブアプリはPHPで書かれており、他社が使用している言語の選択とは明らかに無関係です。それでも、この他社がSAMLリクエストを使用してSOAPリクエストを送信し、SAMLレスポンスを生成できる単純なAPIを作成する必要がありました。私は3つの理由でゼロから作成してきました:1) PHPで記述されたSAMLインタラクションには、必要なオプションがあまりないようです。2)さらに3分の1を追加するためのオーバーヘッドが制限されます。 -パーティコンポーネント、および3)ゼロから物を作成することは、通常、私に非常に良い理解を残し、必要に応じて将来的に物を適応させる能力をはるかに高めます。

とにかく、私は一般的にSAML、SOAP、およびXML標準にかなり慣れていないので、私は自分自身を少しずつ教えてきました。私たちの目的のためにAPIはほぼ完成していますが、他の会社が、私たちの応答は証明書を使用してデジタル署名する必要があると指定していることを除いて(そして私たちが受け取るリクエストも同様にデジタル署名されます)。だから私はXML署名を処理/生成する方法を理解しようとしてきましたが、正直なところ、W3Cの仕様は正確に読みにくいので、少し混乱しています。

OASISセキュリティマークアップ言語(SAML)V1.1ドキュメントのアサーションとプロトコルのセクション5.4.8 (他の会社がv1.1を使用すると言ったので、私が作成したドキュメント)には、次の例が含まれています。署名されたアサーションを含む署名された応答。これを参照するためにここに含めます。

では、どうすればこのようなものを生成できますか?そして、私がこのようなものを受け取った場合、どうすればそれを検証できますか?<ds:Signature>また、タグがここにあるものの基本的な概念の概要を誰かが提供できますか?2つの<ds:Signature>タグがあります。1つはメイン<Response>に、もう1つはにあり<Assertion>、それぞれに独自の、、、<ds:DigestValue>および<ds:SignatureValue><ds:X509Certificate>およびそれぞれが異なる)が含まれています。これらはどのように生成されますか?あなたがこれに当てることができるどんな光でも大いに感謝されるでしょう。チュートリアルやコード例をいただければ幸いです。しかし、この時点で、あなたが私を正しい軌道に乗せることができれば、それが私が本当に求めているすべてです。今のところ、それはすべて私にはまだ大きなブラックボックスのように見えます。

ちなみに、これが役立つ場合は、SAML 1.1仕様の他の場所で、SAML実装は「排他的正規化」メソッド(Excl-C14N)のみを使用し、「エンベロープ変換」のみを使用する必要があると述べています。それが何を意味するのかまだ完全にはわかりません。