Technische informatie
Veiligheid - WS-Security X.509 Certificate Token Profile
Deze security policy is enkel van toepassing voor het oproepen van de SecurityTokenService (STS). Ze beschrijft hoe een SOAP-bericht met een X.509-certificaat moet ondertekend worden.
De wsse:Security header bevat volgende onderdelen:
- wsse:BinarySecurityToken met het consumer X.509v3-certificaat in base64-notatie;
- wsu:Timestamp met maximale geldigheid van 5 minuten;
- ds:Signature met digitale handtekening over BST, TMS en soapenv:Body. Elk blok wordt gecanonicaliseerd (Exclusive) en gehasht (SHA256). De handtekening zelf is van het type RSA-SHA256.
Voorbeeld met PICT (vereenvoudigd)
De tweede operatie van PICT (checkAccessControl) vereist een X.509 certificaat en handtekening. U test hiermee de geldigheid van uw certificaat en handtekening.
<soapenv:Envelope> <soapenv:Header> <wsse:Security> <wsse:BinarySecurityToken EncodingType="#Base64Binary" ValueType="#X509v3" wsu:Id="CertId">MIIMZjCCA4...==</wsse:BinarySecurityToken> <wsu:Timestamp wsu:Id="Timestamp"> <wsu:Created>2011-07-06T14:55:06Z</wsu:Created> <wsu:Expires>2011-07-06T14:56:06Z</wsu:Expires> </wsu:Timestamp> <ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <ds:Reference URI="#CertId"> <ds:Transforms> <ds:Transform Algorithm="xml-exc-c14n#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>l0k0hbnk8578dYAc2POMcBLbTkY=</ds:DigestValue> </ds:Reference> <ds:Reference URI="#Timestamp"> <ds:Transforms> <ds:Transform Algorithm="xml-exc-c14n#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>cUI6sRLLErYal1w1wLFxSCwjoCI=</ds:DigestValue> </ds:Reference> <ds:Reference URI="#id"> <ds:Transforms> <ds:Transform Algorithm="xml-exc-c14n#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>bY22PjS0HPcmEHrslVdx3uDnnpU=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>uYUcEhYJ8y...==</ds:SignatureValue> <ds:KeyInfo Id="KeyId-5F1BFEB349E14F0ADF130996410619213"> <wsse:SecurityTokenReference> <wsse:Reference URI="#CertId" ValueType="#X509v3"/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </wsse:Security> </soapenv:Header> <soapenv:Body wsu:Id="id"> <pict:CheckAccessControlRequest> <type:Message>Hello World</type:Message> <type:Timestamp>2010-02-24T05:32:13</type:Timestamp> </pict:CheckAccessControlRequest> </soapenv:Body> </soapenv:Envelope>