問題タブ [xmlsec]
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.
python - XMLSEC エラー:「証明書の読み込みに失敗しました」
プロジェクトで python-saml ツールキット (またはそのコードの一部) を使用しようとしていますが、この質問で対処しようとする問題がいくつかあります。私のローカルマシン(ubuntu 18.04)では、すべてを稼働させましたが、centOSマシンにインストールすると、いくつかの問題が発生しました。私が使用している (使用する必要がある) リリースは CentOS 6.8 です。必要なすべての rpm パッケージ (依存関係) をビルドしてインストールしました。python-saml コードの次の行に、「証明書の読み込みに失敗しました」というエラーが表示されます。
この loadCert 関数は、dm.xmlsec.binding パッケージの一部です。だから私はこの機能をチェックしました、そしてこれはそれです:
まあ、問題は「xmlSecCryptoAppKeyCertLoad」にのみあると思うので、XMLSEC ライブラリに属し、次のように定義されているこの関数を確認しました。
}
関数「loadCert」の引数は正しく、正しい証明書ファイル名と正しい形式です。コマンドラインで手動で試してみたところ、同じエラーが発生しました(centOSマシンのみ、Ubuntuではすべて問題ありません)。
何が問題になる可能性がありますか?どういうわけか何が起こっているのかを理解する必要がありますが、誰かがそれを助けることができれば素晴らしいでしょう.
前もって感謝します!
質問には重要ではありませんが、念のため他の人に役立つ可能性があります.dm.xmlsec.bindingをRed Hatマシンにインストールする際に問題があり、https://github.com/で説明されている内容に従ってパッケージを構築することで解決しました. onelogin/python-saml/issues/30、これは /usr/bin/xmlsec1-config ファイルを更新して、「--cflags」に「-DXMLSEC_NO_SIZE_T」を含めることを意味します。
python - xmlsec (または他のより適切なパッケージ) を使用して XML に署名する方法
次のような XML から始めます。
で署名する必要があるので、次のようになります
余談ですが、そこにある証明書情報は本物ではないので、心配する必要はありません。
ドキュメントのサンプル ページを見ましたが、ソース xml がどのように見えるかがわからないため、ユース ケースをそれに合わせて成形するのは非常に困難です。
java - XML 外部エンティティ (XXE) - 外部パラメータ エンティティおよび外部一般エンティティの脆弱性
XXE 攻撃を防ぐために、Java DocumentBuilderFactory で推奨されている以下の機能を無効にしました - https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet。
external-general-entites と external-parameter-entities を false に設定しない場合、脆弱性は存在しますか? disallow-doctype-decl を true に設定し、XIncludeAware を false に設定すると、これらの外部エンティティを展開できなくなります。
上記のコードからこれらの 2 行を削除しても安全です
dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
か。それとも、保持することも必須です。必須の場合、false に設定しない場合の脆弱性は何ですか?
disallow-doctype を true に、XIncludeAware を false に、ExpandEntityReferences を false に設定した場合でも、external-genereal/Parameter-entities に固有の脆弱性の例を提供してください。