2017-12-01 3 views
0

X509 인증서가있는 X509Data 요소와 공개 키가있는 KeyValue 요소가 모두있는 SAML 어설 션의 KeyInfo 요소를 생성해야합니다. 그것은 다음과 같이한다 : 나는 주장을 생성하는 SAMLCallback와 Wss4jOutInterceptor과 CXF를 사용하고WSS4J로 KeyInfo 요소 내에 X509Data와 KeyValue를 모두 생성하는 방법

     <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
          <ds:X509Data> 
           <ds:X509Certificate>MIIGLTCquvS ... </ds:X509Certificate> 
          </ds:X509Data> 
          <ds:KeyValue> 
           <ds:RSAKeyValue> 
            <ds:Modulus>vOksZtPkaxkdxN ..... </ds:Modulus> 
            <ds:Exponent>AQAB</ds:Exponent> 
           </ds:RSAKeyValue> 
          </ds:KeyValue> 
         </ds:KeyInfo> 

. X509Data 또는 KeyValue를 생성 할 수 있지만 둘 다 생성 할 수는 없습니다. 이것은 SubjectConfirmationData와 Assertion의 서명 모두에 있어야합니다. 나는 OpenSAML을 사용하여이 일을 손으로 직접 작성하는 몇 가지 해답을 보았지만 WSS4J를 사용하는 더 간단한 방법이 있기를 희망합니다. 당신은 KeyInfoBean.setElement에 DOM 요소()를 설정하여 사용자의 KeyInfo 요소를 추가 할 수 있습니다 사전

답변

0

감사합니다. 현재 Signature KeyInfos에서도 동일한 작업을 수행 할 수있는 방법이 없습니다. 여기

https://issues.apache.org/jira/browse/WSS-619

인 테스트를 포함하여 커밋 : 나는 현재 코드 기반이 고정했습니다

http://svn.apache.org/viewvc?view=revision&revision=1817084

그것은하지만 CXF의 WSS4JOutInterceptor에 어떤 노력 배선이 통해 걸릴 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. Subject에 대한 KeyInfoBean에서 setElement를 시도했지만 X509 또는 KeyValue가 처리되는 WSS4JOutInterceptor 어딘가에서 손실됩니다. 이 시점에서 "원시"Opensaml 및 사용자 지정 CXF 인터셉터를 사용하는 것이 더 간단 할 것이라고 생각하기 시작했습니다. 좋은 접근이나 그 접근의 예를 아십니까? 도움에 다시 한번 감사드립니다. –

관련 문제