SHA1ではなくSHA2を使用していることを確認してください。
:以下のようにあなたのSPのメタデータを設定する際に、使用しているたSecurityContextを
<!-- setting encryption to SHA2 instead of default SHA1 -->
<bean class="path.to.SSOConfigBean"/>
またはUPDATE:
いずれかafterPropertiesSet方法上書き:
public class SSOConfigBean
implements InitializingBean
{
private String signatureAlgorithmSHA = SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256;
private String digestAlgorithmSHA = SignatureConstants.ALGO_ID_DIGEST_SHA256;
@Override
public void afterPropertiesSet() throws Exception
{
BasicSecurityConfiguration config = (BasicSecurityConfiguration) Configuration.getGlobalSecurityConfiguration();
config.registerSignatureAlgorithmURI("RSA", signatureAlgorithmSHA);
config.setSignatureReferenceDigestMethod(digestAlgorithmSHA);
}
}
をし、あなたのSecurityContextがにこれを追加
<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.MetadataGenerator">
<property name="entityId" value="urn:samltest"/>
<property name="extendedMetadata">
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
<property name="idpDiscoveryEnabled" value="false"/>
<property name="local" value="true"/>
<property name="signingAlgorithm" value="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
</bean>
</property>
</bean>
</constructor-arg>
</bean>
まず、SAMLトレーサを使用してアサーションを取得できます。使用されているバインディングに基づいて、XML署名に問題がある可能性があります。 ログからのエラーメッセージがなくても、ADFSで正常にセットアップした人でも、それを伝えるのは難しいです。 SpringのSAMLドキュメントには、ADFS統合のセクションもあります。ありがとうございます。 –
私はSAMLトレーサを使用しようとします。 FYI:私はSpringのドキュメントからADFSの統合を使用しました – kumaran
ADFSイベントログを見て、エラーの内容を確認してください。 – nzpcmad