問題タブ [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 投票する
2 に答える
1144 参照

.net - XPath Filter 2.0 変換を使用して .NET で XML 署名を生成する

.NET アプリケーションでXML 署名を生成しようとしています。また、この署名でXPath Filter 2.0変換を利用したいと考えています。

System.Security.Cryptography.Xml名前空間は、XML 署名仕様を実装するクラスを提供します。ただし、.NET は、XmlDsigXPathTransformクラスを使用した xmldsig-core 仕様で説明されているように、XPath フィルタリングのみをサポートしているようです。これは、XPath フィルター 2.0 と同じではありません。

XPath Filter 2.0 仕様を調べて、独自のTransformクラスを実装する必要がありますか? または、もっと簡単に進める方法はありますか?

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

.net - SignedXml.ComputeSignatureを使用して構成ファイルに署名を追加した後の「認識されない構成セクション」

WCFサービスを自己ホストする.NET3.5Frameworkを使用して構築されたWindowsフォームアプリケーションがあります。サービスとアプリはそれ自体で適切に機能します。

app.configファイルでアドレスとバインディング情報にアクセスできるようにすることを懸念して、System.Security.Cryptography.Xml.SignedXml.ComputeSignatureを使用してデジタル署名を追加することにしました。次に、app.configに署名を追加して保存しました。これにより、app.configファイルの構成ノードの最後の子としてapp.configにSignature要素が作成されます。

サービス開始前に署名を確認する機能を追加しました。アプリは署名を適切に検証しますが、サービスを開始しようとすると、次のネストされたエラーがスローされます。

  1. 'System.ServiceModel.DiagnosticUtility'の型初期化子が例外をスローしました。

2.構成システムの初期化に失敗しました

3.認識されない構成セクションの署名。

app.configのどこにSignature要素を配置するかは問題ではないようです。署名は常に適切に検証され、サービスは常に認識されない構成セクションを攻撃します。app.configのSignature要素とコードのsignaturecheckをコメントアウトすると、サービスは問題なく再開されます。

サービスがこれらのエラーをスローするのはなぜですか?また、それらを解決するために何ができますか?

これは、編集されたアプリケーション名とURLを含むapp.configです。

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

c# - サンドボックス内からXML署名を検証できますか?

いくつかのxmlを取得してからxml署名を検証しようとするコードがあります。この投稿によると、SignedXmlタイプの検証方法では、xml署名の検証を実行するために完全な信頼が必要です。コードをサンドボックスで実行する必要があるため、完全な信頼が得られないため、セキュリティ例外がスローされます。

この場合、xml署名を検証する他の方法はありますか(できればサードパーティのソフトウェアを購入する必要はありません)?

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

c# - byte[] を AsymmetricAlgorithm の実装に変換する

byte[] を AsymmetricAlgorithm の実装に変換する必要があります。に署名しようとしていxmlますが、秘密鍵をバイト配列でしか取得できません。誰かが知る必要がある場合は、非常に優れたPKCS11.Netを使用してトークンにアクセスしています。

私が署名に使用しているクラスは次System.Security.Cryptography.Xml.SignedXml
のとおりです。プロパティは AsymmetricAlgorithm のみを要求します: XmlSignedXml.SigningKey;

誰もそれを行う方法を知っていますか?

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

.net - SignedXml を使用してドキュメントの一部で xml 署名を検証する

SignedXml クラスを使用して、XML ドキュメントの署名を検証しています。署名は文書の一部のみを参照します。

署名を検証することはできますが、検証する必要があるドキュメントの特定の部分に署名が署名していることを確認するにはどうすればよいですか? 誰かが同じ鍵を使用してドキュメントの別の部分に署名するだけで、その署名は引き続き有効です。

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

java - 証明書と秘密鍵を使用してJavaでXMLドキュメントに署名するにはどうすればよいですか?

データベースから正しく取得された秘密鍵と証明書を使用してXMLドキュメントに署名しようとしています。この秘密鍵と証明書は私に渡されたので、Javaでのプロバイダーの同等性についてはよくわかりません。XMLドキュメントに署名するために、このチュートリアルを使用しました

これを行うために実装したコードは次のとおりです。

プログラムを実行すると、次の例外が発生します。

助言がありますか?

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

c# - JavaのXMLSignatureのDigestValueはC#とは異なります

XMLSignatureをxmlドキュメントに適用するC#で実行されているプログラムがあります。どちらの場合(C#とJava)でも同じXMLドキュメントを使用していますが、同じダイジェスト値と署名値を取得できません。Cプログラムの結果が正しいことはわかっていますが、Javaで正しく取得できません。

ここにC#コードがあります:

Javaコードは次のとおりです。

同じxmlドキュメント、証明書、秘密鍵を使用して、それぞれに次のダイジェスト値を取得しています。

  • Java:EZTMZuMvR9D0WSUgbT2AdFYTBh4=

  • C#:EsJDdWiUMIOaQp9CC26wQWA6kJ0=

なぜこれが起こるのですか?

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

c# - WCF クライアント - WS-Security タイムスタンプ署名の署名アルゴリズムの指定

非 WCF サービスにメッセージを送信している WCF クライアントがあり、そのサービスでは、WS-Security Timestamp 要素の署名に使用される HMAC-SHA1 署名方法の処理に問題があります。理想的には、RSA-SHA1 署名方式を使用したいのですが、WCF でその署名方式を使用することができませんでした。

私が使用しているバインディングは、HTTPS 経由で SAML 2.0 トークンを送信できるカスタム バインディングです。

発信リクエストの署名は次のようになります。

http://www.w3.org/2000/09/xmldsig#hmac-sha1であることに注意し<SignatureMethod>てください

興味深い点の 1 つは、HMAC-SHA1 アルゴリズムが対称 (暗号化と復号に 1 つのキー) であるのに対し、RSA-SHA1 は非対称 (暗号化と復号に 1 つのキーが必要) であることです。WCF は対称であり、交換される SAML トークンが共有シークレット (キー) であるため、HMAC-SHA1 アルゴリズムを使用していると思います。SAML トークンを対称アルゴリズムの共有キーとして使用することは理にかなっていますが、WCF に RSA-SHA1 のような非対称アルゴリズムを強制的に使用させるオプションはありますか?

binding/security/defaultAlgorithmSuite 属性を変更することで、署名方法を少し変更することができましたが、さまざまなオプションを使用しても、ここで RSA-SHA1 を指定することはできません。

defaultAlgorithm = デフォルト:

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

defaultAlgorithm = Basic256:

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

defaultAlgorithm = Basic256Rsa15:

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

defaultAlgorithm = Basic256Sha256:

<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"/> <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>

defaultAlgorithm = Basic256Sha256Rsa15:

<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"/> <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>

タイムスタンプ署名で RSA-SHA1 を使用するように WCF を強制する方法はありますか?

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

silverlight - Silverlight 4/5 による XML のデジタル署名

Silverlight から Windows 証明書ストアにアクセスできないことを読みました (少なくとも SL3 および 4 では)。SL5からエースできますか?そうでない場合、どうすれば Silverlight から XML に署名できますか?

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

xml - Node.js での XML 署名のサポート

XML 署名をサポートする node.js モジュールがあるかどうかは誰にもわかりませんか? ありがとう!