2017-12-01 9 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のSignatureの両方になければなりません。私はOpenSAMLを使ってこれを行い、手で構築する答えをいくつか見てきましたが、私はWSS4Jを使って簡単な方法があることを期待しています。アドバンス

おかげ

答えて

0

あなたは(KeyInfoBean.setElement上のDOM要素を設定することにより、カスタムのKeyInfo要素を追加することができます)。 Signature KeyInfosについても同じことを行う方法は現在ありません。私は、現在のコードベースでこれを修正しました:それはしかしCXFのWSS4JOutInterceptorでこれを介して配線いくつかの努力がかかることがあります

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

:ここ

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

は、テストを含めコミットです。

+0

返信いただきありがとうございます。私はSubjectのKeyInfoBeanでsetElementを試しましたが、X509またはKeyValueのいずれかがWSS4JOutInterceptorの処理のどこかで失われてしまったようです。私は、この時点で "生の" OpensamlとカスタムCXFインターセプタを使う方が簡単かもしれないと考え始めています。あなたは良いアプローチやそのアプローチの例を知っていますか?助けてくれてありがとう –

関連する問題