Hi -

In my STS, the RST message is supposed to include a UseKey element like 
so:

<UseKey>
  <ds:KeyInfo>
    <ds:X509Data>
      <ds:X509Certificate>some-encoded-cert</ds:X509Certificate>
    </ds:X509Data>
  </ds:KeyInfo>
</UseKey>


I'm having two issues with it....

1. If some-encoded-cert is expired, the STS is issuing a token for it 
anyway. I have configured a TokenIssueOperation with a list of 
tokenValidators, that includes an instance of an 
org.apache.cxf.sts.token.validator.X509TokenValidator. Shouldn't the 
X509TokenValidator be checking for expiration, issuer trust, revocation, 
and so on? Or will I need to derive a custom validator to handle that?

2. A more fundamental problem is that the certificate provided in the 
UseKey is supposed to match the certificate used to sign the RST (or 
validate the signature, rather). In our profile, the RST must be signed, 
with the certificate provided as a BST in the WSSE header. The UseKey 
element is allowed to be a SecurityTokenReference to the BST, or to be a 
copy of that certificate. I'm specifically working on the case where the 
UseKey is a copy of the signing cert and not a reference. I would guess 
that I would need a custom validator for this, which is fine, but I'm not 
sure how I can access the BST to do a compare?

Thanx,


Stephen W. Chappell

Reply via email to