Azure AD SAML 使用通用证书而不是特定于应用程序的证书
Azure AD SAML using Common Certificate instead of app specific
所以我的观察和期望是,当我为单点登录配置应用程序时,将使用该特定应用程序的证书。
但是我有一些已经注册的应用程序不使用这些证书,而是使用来自 Common Metadata 的证书之一签署断言。 我的问题是:有没有办法配置此行为?我试图在新应用程序中模仿配置,但无法获得相同的行为。
我观察到的关于这些应用程序配置的内容:
- 所有这些都在某个时候“与”ADFS 进行了“对话”——并且还使用了 WS-FED(这是这里的目标)
- 即使我尝试通过 MyApps 访问该应用程序,并且有 'nothing' 应答,签名也将使用通用证书。
- 我相信他们都使用 App Proxy(使用 Azure AD 预授权)
- 他们似乎有标签(8adf8e6e-67b2-4cf2-a259-e3dc5476c621,WindowsAzureActiveDirectoryGalleryApplicationNonPrimaryV1),我在创建新的 SAML 应用程序时没有得到这些标签。
这是断言的样子:
<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 证书签名。
所以我的观察和期望是,当我为单点登录配置应用程序时,将使用该特定应用程序的证书。
但是我有一些已经注册的应用程序不使用这些证书,而是使用来自 Common Metadata 的证书之一签署断言。 我的问题是:有没有办法配置此行为?我试图在新应用程序中模仿配置,但无法获得相同的行为。
我观察到的关于这些应用程序配置的内容:
- 所有这些都在某个时候“与”ADFS 进行了“对话”——并且还使用了 WS-FED(这是这里的目标)
- 即使我尝试通过 MyApps 访问该应用程序,并且有 'nothing' 应答,签名也将使用通用证书。
- 我相信他们都使用 App Proxy(使用 Azure AD 预授权)
- 他们似乎有标签(8adf8e6e-67b2-4cf2-a259-e3dc5476c621,WindowsAzureActiveDirectoryGalleryApplicationNonPrimaryV1),我在创建新的 SAML 应用程序时没有得到这些标签。
这是断言的样子:
<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 证书签名。