<div>hello Aleksey,</div>
<div>It seems a little bit complicated if use your method, because it&nbsp;seems&nbsp;I need to implement the whole certificate chain checking as well. So for now&nbsp;I just put&nbsp;this method&nbsp;into my TODO list, and alternatively use some hack method by inserting &lt;X509Data/&gt; into &lt;KeyInfo/&gt; and delete the node after verification, it works :)</div>

<div>&nbsp;</div>
<div>Thanks a lot,</div>
<div>Weizhong<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 7/18/08, <b class="gmail_sendername">Aleksey Sanin</b> &lt;<a href="mailto:aleksey@aleksey.com">aleksey@aleksey.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Correct. But I would use DataRetrieval as an example.<br><br>Aleksey<br><br>wz qiang wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><span class="q">hello Aleksey,<br>Thank you for your kind reply.<br>Just to make sure that I understand you correctly. You meant that I need to implement some special key data just like the xmlSecOpenSSLKeyDataX509Klass in src/openssl/x509.c, and the xmlSecKeyDataRetrieval method, finally I need to register it when by using &quot;xmlSecKeyDataIdsRegister&quot;?<br>
&nbsp;Thanks a lot,<br>Weizhong<br><br></span>
<div><span class="e" id="q_11b33137ce7339a6_2">&nbsp;On 7/17/08, *Aleksey Sanin* &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:aleksey@aleksey.com" target="_blank">aleksey@aleksey.com</a> &lt;mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:aleksey@aleksey.com" target="_blank">aleksey@aleksey.com</a>&gt;&gt; wrote:<br>
<br>&nbsp; &nbsp;The &quot;right&quot; way to do it is to create &quot;key data&quot; object for<br>&nbsp; &nbsp;reading/writing wsse:SecurityTokenReference node. Look at<br>&nbsp; &nbsp;xmlsec/src/keyinfo.c file and search for xmlSecKeyDataRetrieval<br>
&nbsp; &nbsp;for an example. Note that you don&#39;t need to modify xmlsec<br>&nbsp; &nbsp;source code. You can create your custom &quot;key data&quot; object<br>&nbsp; &nbsp;and then register in xmlsec from your application.<br><br>&nbsp; &nbsp;Aleksey<br><br>
&nbsp; &nbsp;wz qiang wrote:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;hi,<br>&nbsp; &nbsp; &nbsp; &nbsp;I am using the following node for &lt;KeyInfo/&gt; under &lt;Signature/&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;KeyInfo&gt;&lt;wsse:SecurityTokenReference&gt;&lt;wsse:Reference<br>&nbsp; &nbsp; &nbsp; &nbsp;URI=&quot;#binarytoken&quot;/&gt;&lt;/wsse:SecurityTokenReference&gt;&lt;/KeyInfo&gt;<br>
&nbsp; &nbsp; &nbsp; &nbsp; When I verify it, of cause not like &lt;X509Data/&gt;, the above<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;KeyInfo/&gt; can not be loaded by xmlsec library automatically. So<br>&nbsp; &nbsp; &nbsp; &nbsp;how can I load it?<br>&nbsp; &nbsp; &nbsp; &nbsp;I try to parser the pubkey out from the binarytoken by using:<br>
&nbsp; &nbsp; &nbsp; &nbsp;xmlSecOpenSSLAppKeyFromCertLoadBIO(bio, certformat);<br>&nbsp; &nbsp; &nbsp; &nbsp;and then load the key into keymanager:<br>&nbsp; &nbsp; &nbsp; &nbsp;xmlSecCryptoAppDefaultKeysMngrAdoptKey(keysmanager, key);<br>&nbsp; &nbsp; &nbsp; &nbsp; I also loaded the trusted ca certificate by using:<br>
&nbsp; &nbsp; &nbsp; &nbsp;xmlSecCryptoAppKeysMngrCertLoad(...);<br>&nbsp; &nbsp; &nbsp; &nbsp; But it seem is the loaded trusted certificate does not effect<br>&nbsp; &nbsp; &nbsp; &nbsp;at all. Becase even if I comment the line<br>&nbsp; &nbsp; &nbsp; &nbsp;&quot;xmlSecCryptoAppKeysMngrCertLoad&quot;, the verification also works.<br>
&nbsp; &nbsp; &nbsp; &nbsp; SO I think the trust chain has not been checked.<br>&nbsp; &nbsp; &nbsp; &nbsp; Could you tell me how can I load the non-standard &lt;KeyInfo/&gt;,<br>&nbsp; &nbsp; &nbsp; &nbsp;and make the trusted chain checkin work as well.<br>&nbsp; &nbsp; &nbsp; &nbsp; Thanks in advance.<br>
&nbsp; &nbsp; &nbsp; &nbsp; Weizhong Qiang<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp;------------------------------------------------------------------------<br><br>&nbsp; &nbsp; &nbsp; &nbsp;_______________________________________________<br>&nbsp; &nbsp; &nbsp; &nbsp;xmlsec mailing list<br></span></div>
&nbsp; &nbsp; &nbsp; &nbsp;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:xmlsec@aleksey.com" target="_blank">xmlsec@aleksey.com</a> &lt;mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:xmlsec@aleksey.com" target="_blank">xmlsec@aleksey.com</a>&gt;<span class="q"><br>
&nbsp; &nbsp; &nbsp; &nbsp;<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.aleksey.com/mailman/listinfo/xmlsec" target="_blank">http://www.aleksey.com/mailman/listinfo/xmlsec</a><br><br><br></span></blockquote></blockquote>
</div><br>