2015-01-06 11 views
1

저는 스프링 시큐리티의 공개 saml 라이브러리를 인증에 사용하고 있습니다.스프링 보안 saml에서 사용하는 키는 무엇입니까?

내 서비스 공급자는 spring saml (으)로 구성된 내 스프링 웹 응용 프로그램입니다. 내 IDP는 OpenSSO입니다.

spring-security-saml2 코어 라이브러리에서 JKSKeyManager는 호출되지 않지만 KeyManager가 호출됩니다.

.jks 키 저장소 파일을 키로 사용하거나 'apollo/nalle123'을 키로 사용하는 라이브러리가 있습니까? 그들의 차이점은 무엇입니까?

답변

6

org.springframework.security.saml.key.KeyManager은 인터페이스이며 org.springframework.security.saml.key.JKSKeyManager이 구현되었습니다. 따라서 KeyManager으로 전화를 걸면 기본 설정에서 전화 번호가 JKSKeyManager임을 의미합니다.

apollo/nalle123 키는 .jks 파일 (샘플 어플리케이션 samlKeystore.jks) 내부에 저장된 KeyManager 의해 사용되도록 구성된다. Apollo.jks 파일에있는 키의 별명이며 nalle123은 암호입니다.

스프링 SAML은 KeyManager에 제공된 키와 SAML 메타 데이터에 제공된 키의 사용을 결합합니다.

+0

고마워요 블라디미르. 그러나 내 OpenSSO의 .jks 파일을 OpenSSO의 다른 인스턴스에서 변경하는 동안 내 SP의 .jks 파일을 동일하게 유지합니다. 나는 여전히 성공적으로 검증 할 수있다. 특히 Spring-security-saml의 AbstractProfileBase의 Line271에서 성공적으로 유효성을 검사합니다. 제가 누락 된 것이 있습니까? IDP와 SP의 .jks 키가 더 이상 동일하지 않음을 감지해야합니까? – daniely

+0

SP에 IDP 메타 데이터를 어떻게 가져 오나요? SP에 디지털 서명 한 메시지를 보내고 있습니까? –

+0

OpenSSO에서 생성 된 idp.xml 및 keystore.jks 파일을 내 SP의 war 파일에 복사했습니다. IDP에서 SP로 보낸 SAML 어설 션은 서명되어 있습니다 (X509 인증서). 아마도 .jsk 파일의 목적을 잘못 이해하고 있거나, 키가 있거나 키를 채워야합니까? – daniely