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

c# - SignedXml クラスの Id 属性に基づいて参照を追加すると、「不正な参照要素」が発生する

名前空間プレフィックスがある場合、Id 属性で要素に署名できません:

ComputeSignature()ここで「Malformed Reference Element」で失敗します。これはどのように行うべきですか?

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

java - XPATH で作成された XML デジタル署名は、すべてのノードにスキーマ定義を追加し続けます

単純な XML があり、//*[@isDigSignReqd = 'true'] のような XPATH クエリを使用して XML に署名しました。現在、署名された XML には次のような属性が含まれています。

xmlns="http://www.xyze.org/xservice" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

すべてのノードに接続されています。XML 署名の検証は正常に行われます。しかし、これらの属性を削除できますか。私は XML 署名とそのすべてにかなり慣れていません。助けてください。

これはXMLがどのように見えるかです(一部)



変換はこのように作成されます。


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

xml - Java で XAdES 署名を管理するためのライブラリ

XAdES 署名の作成と検証を可能にする Java ライブラリを探しています (形式が多ければ多いほど良い: XAdES-BES、XAdES-C、XAdES-XL など)。

私が見つけた最も興味深い実装は次のとおりです。

  • Java XML Digital Signature API (JSR 105) (= Java SE 6 に含まれるもの)。これは次のものに基づいています。
  • Apache Santuario ( http://santuario.apache.org/ ) は、基本的な機能のみに役立つサポートを提供します。
  • XAdES4j ( http://code.google.com/p/xades4j/、素晴らしいプレゼンテーション: http://prezi.com/06vyxbgohncv/xades4j-en/ ) は興味深いと思われます。主な XAdES フォームの署名を拡張します: XAdES-BES、XAdES-EPES、XAdES-T、および XAdES-C。また、既存の署名を強化することで、拡張フォームがサポートされます。ただし、それは学位論文の結果であり、開発者のみが追跡しています。
  • eID デジタル署名サービス ( http://code.google.com/p/eid-dss/ ) は、ベルギー連邦 ICT 部門によって開発され、XAdES-XL 形式をサポートしています。

どちらを使用または構築することをお勧めしますか?

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

c# - C# の XML 署名方法に相当する Java

私は次の .NET Framework 3.5 C# メソッドを作成しました。このメソッドは、XML ドキュメントの場所と X509 デジタル証明書 (秘密キーを使用) のオブジェクト表現を取得し、XML ドキュメントを XML 署名 (XMLDsig) が埋め込まれたオブジェクトとして返します。ルートの最初の子要素として。

問題は、Java SE 6 でまったく同じ手順を実行できるようにする必要があるということですが、Java を何年も書いたことがなく、どこから始めればよいかわかりません。

まったく同じ XML 出力を生成する同等のメソッドを Java コードで提供できる人はいますか?

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

ios - XML Dsig 形式を DER ASN.1 公開鍵に変換する

ASP.NET Web サービスから次の形式で RSA 公開キーを取得する iPhone アプリに取り組んでいます。

次に、この応答を適切な形式に変換する必要がありNSData *ます (激しいグーグル、おそらく「ASN.1 DER」バイナリ形式から。両方の部分を Base64 表現から元のバイナリ値に変換するコードを用意しました。 、しかし、私は一生、ワンピースのバイナリキーを作成する合理的な方法を見つけることができません。

キーを待っているコードは、 Apple のサンプル プロジェクト (Code here )のクラスの-addPeerPublicKey:(NSString *) keyBits:(NSData *)メソッドです。SecKeyWrapperCryptoExercise

これを別の方法で実装できれば幸いです。必要なのは、単一の文字列を暗号化することだけです (復号化は必要ありません)。ただし、この形式のギャップを埋めることができれば、ビルトインのセキュリティ フレームワークには必要なものがすべて揃っていると言えます。キーを変換してWebサービスからBase64でエンコードして送信する方法があれば、それもうまくいきますが、ASN.1でエンコードする方法も見つかりませんでした。

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

c# - SignedXml を使用したカスタム名前空間の問題

この問題は、名前空間のプレフィックスと名前空間の参照を含む XML ドキュメントに署名してから検証すると発生します。この場合、検証は常に失敗します (false を返します)。XML から名前空間のプレフィックスと名前空間の参照を削除すると、署名と検証が正常に機能します。

私たちを手伝ってくれますか ?

これが私のコードです:

SignedXml から継承されたクラス

xml に署名するクラス

そして、ここで署名メソッドを呼び出しています

そして確認のために

ここに私の署名付きxmlがあります

よろしくお願いします!

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

c# - X509Certificate と XmlDsig

C# (4.0) で、X509Certificate (署名を検証する必要があるものによって提供される .p7b ファイル) を使用して XML (XMLDSig Envelope) に署名する必要があります。セキュリティの経験がありません。私の知識はいくつかの基本的な概念に止まります。暗号について。

これが私がやったことです:

1) 証明書を次の場所にインストールしました: 証明書 - 現在のユーザー - 信頼されたルート証明書。

2) .net から、次のコードで証明書を正常にロードしました:

3) 証明書の公開鍵を使用して、次のコードで署名を作成しようとしました。

しかし、署名を計算すると、「オブジェクトには鍵ペアの公開半分のみが含まれています。秘密鍵も提供する必要があります。」という例外が発生します。

証明書のプロパティ HasPrivateKey を確認しましたが、false です。私の(基本的な)理解は、秘密鍵を持ってはならず、公開鍵を使用して署名を作成できるはずだということです。

何が欠けていますか?

前もって感謝します

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

digital-signature - XML デジタル署名証明書

.NET で XML ドキュメント (XML-DSIG) に署名するために認証局から取得する必要がある証明書の種類を知りたいですか? SSL証明書を取得する必要がありますか?

デジタル証明書を使用して署名する必要がある xml 電子請求書があります。

何かご意見は?

0 投票する
0 に答える
532 参照

digital-signature - 公開鍵を使用して分離された xml 署名を検証する

公開鍵を使用して分離された XML 署名を検証したいと考えています。

gpg と openssl を使用してみましたが、成功しませんでした。公開鍵を使用して検証する手順を誰かに教えてもらえますか?

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

xml - iOS アプリケーションで XML 署名を検証する方法は?

私は、現在取り組んでいる iOS プロジェクトで XML デジタル署名の世界に放り込まれました。SAML アサーションのデジタル署名を検証する必要があります。

私は XML 署名の検証について多くのことを読んできましたが、秘密鍵を使用してダイジェストに署名する方法についての基本を理解し、公開鍵 (含まれている x509 証明書に含まれている必要があります) を使用して検証できると思います。 SAML トークンのソースを特定できます。

署名を検証するために必要なコードがたくさんあるように見えるCライブラリ xmlsec を見つけ、それを実装しようと取り組んでいます。しかし、私はそれを理解することができませんでした。私が理解していることから、ライブラリを自分のコードでコンパイルする必要があると確信しています。ソースをプロジェクトにコピーしましたが、コンパイル中に定義されていないというエラーが発生します。

その道をたどるのに数え切れないほどの時間を費やす前に、コミュニティに連絡して、xml デジタル署名を検証した経験があるかどうか、iOS プロジェクトでそれを実装するための洞察を提供できるかどうかを確認することにしました。

参考までに、シングル サインオン サービスから取得した SAML アサーションの一部を次に示します。