問題タブ [xmlseclibs]
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.
php - xmlseclibs に関するドキュメントはありますか?
XML に署名しましたが、KeyValue 要素を署名に含める方法がわかりません。いくつかのドキュメントがあると、多くの時間を節約できます。
以下のコード (興味がある場合) は、これまでに xmlseclibs で何とかできたことです。
XML 文字列
XML オブジェクトの作成 (署名用)
xmlseclibs を使用した署名オブジェクトの作成
機能しなかった ds: プレフィックスをオフにしようとしています
必要な鍵データへのアクセス
XML オブジェクトへの署名
公開鍵の追加
エンベロープ署名を XML オブジェクトに追加する
署名付き XML コードをファイルに保存する
さらに、このライブラリからも希望します:
- ライブラリが破損していないことを確認するために、公式で信頼できるリポジトリを知っておいてください。
- 「ds:」接頭辞をオフにします (私が作成している XML の例にもドキュメントにもそのような接頭辞が含まれていないため)。
- Base64 型の値の X 文字ごとに改行します。
- 完全なインデント (それ以外の場合はまったくありません)。
ここにリンクの説明を入力してライブラリを取得しました
前もって感謝します。
php - PHP を使用して XML に WSSE ヘッダーを追加する
現在、リクエストをサーバーに送信する前に署名する必要がある WS クライアントを開発しています。この目的のために秘密鍵と証明書を持っていますが、セキュリティ ヘッダーに苦労しています。出力 XML の予想される構造は、次のようになります。
xmlseclibs を使用してみましたが、例がかなり基本的なものであるため、必要なすべての情報を含める方法がわかりません。
DIY の方法で手動でヘッダーを作成することもできると思いますが、できるだけシンプルに保ちたいと考えています。
手がかりはありますか?
追加情報
現在、このタスクに SoapClient を使用しています。問題は、これを正確に行う方法がわからないということです。私が送信している XML はそのコンテンツに署名する必要があり、手動で署名しました (c14n 関数を使用し、そのダイジェストを計算します..)。ただし、全身に対して同じことを行うには、生の XML にアクセスする必要があるため (おそらく)、うまくいかないと思います。
ハッキングを回避しようとしているため、SOAP ヘッダーを手動で作成しようとはしていません。実装しやすく、作業しやすいものを探しています。
現在、私のコードは次のようになっています (読みやすくするために最小限に抑えています)。
変数には、xml
正しいことがわかっている XML コードが含まれています。SoapUI (キーとパスワードを入力する必要がありました) と、プロバイダーが提供しているオンライン テスト サービスの両方でテストされています。これは、送信されるデータが 100% 正しいことを意味します。
ただし、私の PHP コードは「Internal Error」で終了します。証明書の不足などに関係していると思います。応答から詳細情報を取得する方法があるかどうかはわかりませんが、上記のエラーに関するドキュメントはありません。
いくつかのオプションとキーストア、秘密鍵、および証明書をいくつかの形式でいじっていますが、肯定的な結果は得られません。正しいヘッダーが送信されていないという事実にすべて関係していると思います。
どうもありがとう。
php - SAML の適切な XML 正規化
SAML 2.0 アサーション XML の署名の検証で問題が発生しています。私は simpleSAMLphp プロジェクトの SAML2 ライブラリを使用しています。これはxmlseclibs
、XML の署名と署名の検証に PHP ライブラリを使用しています。
パートナーから次のアサーションを受けています。
signature 要素は、排他的な C14N 正規化を要求します。ライブラリ ライブラリは、xmlseclibs
これを次のように正規化します。
ただし、私のパートナーが実際に署名する要素は次のとおりです。
ほとんど同じですが、xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
名前空間はありません。名前xsi
空間は署名の Transform 要素で言及されています。<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="#default saml ds xs xsi"/></Transform>
署名の SHA1 ダイジェストが要素で計算されたダイジェスト xmlseclibs と一致しないため、SAML 認証は失敗します。
だから私はここで誰が正しいのか疑問に思っていました-xsi名前空間はInclusiveNamespacesに含まれているため(この名前空間には要素がありませんが)含める必要がありますか、そうでない場合は、なぜxmlseclibs
その名前空間をそこに含めるのですかC14N正規化?
mcrypt - Linux 7 で mcrypt ライブラリが利用できないため、simplesamlphp が失敗する
simplesamlphp
RedHat Linux 7 で SP として実行しようとしています。コードは HP Fatal エラーで失敗します:
未定義関数 mcrypt_module_open() を呼び出します。
simplesamlphp
RedHat Linux 7ではサポートされxmlseclibs 1.3.1
ていません。この問題を回避する方法を見つけた人はいますか? これはを使用しない のバージョンですか、それとも を使用しないのバージョンですか?mcrypt
mcrypt
xmlseclibs
mcrypt
simplesamlphp
xmlseclibs
php - PHP - xmlseclibs が必要なノードに署名できない
私はほぼ 1 年間、仕事関連の xml に署名してきましたが、今日、自分のやり方が間違っていることに気付きました (下手な英語で申し訳ありません。それは私の母国語ではありません)。
私は xmlseclibs ライブラリを php に使用していますが、署名を次のようにしたいと考えています。
次の例は、私がやりたいことを示すのに役立ちます。次のxmlファイルがあります。
そして、署名した後、次のようになります。
これが必要な構造ですが、これを行うと、すべてのドキュメント (ノード 1 とノード 2)に署名が適用されますが、ノード 2 にのみ署名したい (これは取得中のエラーです。DigestValue のおかげで気づきました) )。
しかし、私がそれをすると、次のようになりました:
何日も試してみましたが、署名を配置したい場所に配置できません (内部ではなく、署名されたタグのすぐ下)。
何かご意見は?
私が使用している機能は次のようなものです:
誰もこれを行う方法を知っていますか?
linux - 致命的なエラー: xmlsec/xmlsec.h: そのようなファイルまたはディレクトリはありません
次のようなメイクファイルがあります。
これはコンパイルエラーをスローしていますxmlsec/xmlsec.h: No such file or directory
xmlsec1 および libxmlsec1 パッケージをダウンロードしましたが、それでもエラーが続きます。予想どおり、フォルダの下に xmlsec ディレクトリはまだありません/usr/include/
。不足している関連パッケージを教えてもらえますか?