問題タブ [kentor-authservices]
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.
saml-2.0 - Azure AD SAML2 応答: System.Security.Cryptography は http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 をサポートしていません
みんな。私には謎があります。誰かにとっては明らかかもしれないので、これです。
約 10 日前、数週間問題なく動作していた Service Provider アプリが奇妙なエラーをスローし始めました。ローカルと Azure の両方でサービス プロバイダーを実行しています。このアプリは、KentorAuthServices を使用して、乱雑な XML と暗号ビットを処理します。スムーズに実行されていましたが、突然、「ハッシュ アルゴリズム オブジェクトを作成できませんでした」というエラーが発生し始めました。フレームワークのデバッグを有効にして、このスタック トレースの抜粋の最後の行に示されている場所までトレースしました。
実際、この URI で表されるアルゴリズムはハッシュ アルゴリズム オブジェクトを作成できません。
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
KentoAuthServices にカスタム ハンドラが組み込まれているにもかかわらず、サポートされていないとされています。サニティ チェックとして、SP アプリを Kentor 自身のスタブ IdP に向けると、アプリは期待どおりに動作します。また、OneLogin の SAML 検証ユーティリティに対して、SAML 応答を検証しました。これは、応答は有効ですが、アルゴリズムはサポートされていないと報告しています。
私が知っていること:
- Azure AD 証明書は最新で完全であり、LocalMachine の信頼されたルート証明書ストアでアクセス可能であり、ロールオーバーに関する 10 月 10 日のポリシー変更後に作成されました (とにかくここでは関係ありません)。
- SP は、いかなる種類のファンキーな自己署名証明書でもリクエストに署名していません。また、それは決してありませんでした。
- ローカルでも Azure でも、アプリは SSL ポートに固定されています。
- アプリの構成 - EntityId、Issuer、メタデータの場所と読み込み、バインド、要求の署名動作。私のテストを除いて、スタブ プロバイダーを指すスワップ可能な IdP 参照を追加しました。
- Azure AD は要求を正常に処理し、それ以外の場合は有効な応答を発行します。ただし、System.Security.Cryptography は署名のハッシュを作成できません。
アプリが日ごとに変更されていないという事実を除いて、明らかな何かが欠けているように感じます。したがって、なぜ rsa-sha256 が死んでしまうのかを説明するために、世界で何か変化があったかどうかを尋ねなければなりません。これは編集された SAML リクエストとレスポンスです。ほとんどの識別情報は削除されますが、それが Azure AD からのものであることは既にわかっているため、証明書が存在し、教育のためにそれを検証できます。どうぞよろしくお願いいたします。