Azure AD SAML 使用通用证书而不是特定于应用程序的证书

Azure AD SAML using Common Certificate instead of app specific

所以我的观察和期望是,当我为单点登录配置应用程序时,将使用该特定应用程序的证书。

但是我有一些已经注册的应用程序不使用这些证书,而是使用来自 Common Metadata 的证书之一签署断言。 我的问题是:有没有办法配置此行为?我试图在新应用程序中模仿配置,但无法获得相同的行为。

我观察到的关于这些应用程序配置的内容:

这是断言的样子:

<samlp:Response ID="RESPONSEID_REPLACED" Version="2.0" IssueInstant="2021-10-11T17:47:30.259Z" Destination="https://127.0.0.1:444/applications/default.aspx" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://sts.windows.net/TENANT-ID-REPLACED/</Issuer>
    <samlp:Status>
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </samlp:Status>
    <Assertion ID="ASSERTION_ID" IssueInstant="2021-10-11T17:47:30.243Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
        <Issuer>https://sts.windows.net/TENANT-ID-REPLACED/</Issuer>
        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
            <SignedInfo>
                <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
                <Reference URI="#REFERENCE_URI_GUID_REPLACED">
                    <Transforms>
                        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                        <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                    </Transforms>
                    <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                    <DigestValue>Zvoq+VZQsM+eW9HzHcYSJQvSm7L6E5urRYKQehkJf7w=</DigestValue>
                </Reference>
            </SignedInfo>
            <SignatureValue>LONG_SIGNATURE_REPLACED</SignatureValue>
            <KeyInfo>
                <X509Data>
                    <X509Certificate>MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ</X509Certificate>
                </X509Data>
            </KeyInfo>
        </Signature>

好像是bug/weird的情况。我错了一个细节;它实际上是在使用企业应用程序上的证书..

但是,新创建的非库或近似应用程序的默认证书将默认为 public Azure 证书(指纹 977B10FB9D1C087E3105564B1D31B09D247BEBCD,主题 accounts.accesscontrol.windows.net)。

当您编辑 SSO 的配置时,该证书似乎已更新,但对于我的某些应用程序,它似乎没有...所以它仍在使用默认的 Azure AD 证书签名。