Copyright (c) 2002-2006 by The Web Services-Interoperability Organization (WS-I) and Certain of its Members. All Rights Reserved.
This document contains the test assertions for the WS-I Basic Security Profile definition. These test assertions are used by the analyzer testing tool to determine if a Web service is conformant to the Basic Security Profile.
The material contained herein is not a license, either expressly or impliedly, to any intellectual property owned or controlled by any of the authors or developers of this material or WS-I. The material contained herein is provided on an "AS IS" basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and WS-I hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL.
IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR WS-I BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
The Web Services-Interoperability Organization (WS-I) would like to receive input, suggestions and other feedback ("Feedback") on this work from a wide variety of industry participants to improve its quality over time.
By sending email, or otherwise communicating with WS-I, you (on behalf of yourself if you are an individual, and your company if you are providing Feedback on behalf of the company) will be deemed to have granted to WS-I, the members of WS-I, and other parties that have access to your Feedback, a non-exclusive, non-transferable, worldwide, perpetual, irrevocable, royalty-free license to use, disclose, copy, license, modify, sublicense or otherwise distribute and exploit in any manner whatsoever the Feedback you provide regarding the work. You acknowledge that you have no expectation of confidentiality with respect to any Feedback you provide. You represent and warrant that you have rights to provide this Feedback, and if you are providing Feedback on behalf of a company, you represent and warrant that you have the rights to provide Feedback on behalf of your company. You also acknowledge that WS-I is not required to review, discuss, use, consider or in any way incorporate your Feedback into future versions of its work. If WS-I does incorporate some or all of your Feedback in a future version of the work, it may, but is not obligated to include your name (or, if you are identified as acting on behalf of your company, the name of your company) on a list of contributors to the work. If the foregoing is not acceptable to you and any company on whose behalf you are acting, please do not provide any Feedback.
WS-I members should direct feedback on this document to wsi_testing@lists.ws-i.org; non-members should direct feedback to wsi-tools@ws-i.org.
Document
Conventions
Profile
Definitions
Test
Assertion Artifacts
secureEnvelope
Test
Assertion Counts
Profile
Requirements Index
Appendix A: Referenced
Specifications
The labels used for entry types in this document map one-to-one with the conformance targets from the profile document, but use a different convention for capitalization. For example, the conformance target SECURITY_HEADER corresponds to the entry type securityHeader.
This document uses a number of namespace prefixes throughout; their associated URIs are listed below. Note that the choice of any namespace prefix is arbitrary and not semantically significant.
A "candidate" element is one that is to be verified for conformance. The analyzer specification contains a detailed explanation of all of the fields listed in this document.
Test assertion headings that have this background color are disabled and will not be processed by the analyzer.
| ID | Name | Version | Revision | Location |
| BSP1 | Basic Security Profile | 1.0 | WGD 29Mar06 | http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html |
| SAML | Basic Security Profile | 1.0 | WGD 29Mar06 | http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html |
| KERB | Basic Security Profile | 1.0 | WGD 29Mar06 | http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html |
| RTP1 | Basic Security Profile | 1.0 | WGD 29Mar06 | http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html |
The Basic Security Profile 1.0 requires support for SOAP 1.1 and HTTP 1.0 or 1.1.
Specification Reference List:
| ID | Entry Type | Test Type | Enabled |
| BSP5607 | anySecureEnvelope | required |
true |
| BSP3204 | anySecureEnvelope | required |
true |
| BSP3206 | soapHeader | required |
true |
| BSP3210 | soapHeader | required |
true |
| BSP3227 | securityHeader | required |
true |
| BSP3203 | timestamp | required |
true |
| BSP3224 | timestamp | required |
true |
| BSP3221 | timestamp | required |
true |
| BSP3222 | timestamp | required |
true |
| BSP3220 | created | recommended |
true |
| BSP3229 | expires | recommended |
true |
| BSP3213 | created | required |
true |
| BSP3215 | expires | required |
true |
| BSP3225 | created | required |
true |
| BSP3226 | expires | required |
true |
| BSP3217 | created | required |
true |
| BSP3223 | expires | required |
true |
| BSP3057 | strReference | required |
true |
| BSP3064 | strReference | required |
true |
| BSP3059 | strReference | required |
true |
| BSP3062 | strReference | required |
true |
| BSP3027 | securityTokenReference | required |
true |
| BSP3054 | strKeyIdentifier | required |
true |
| BSP3070 | strKeyIdentifier | required |
true |
| BSP3071 | strKeyIdentifier | required |
true |
| BSP3060 | strEmbedded | required |
true |
| BSP3056 | strEmbedded | required |
true |
| BSP3066 | strReference | required |
true |
| BSP3067 | strReference | required |
true |
| BSP3102 | signature | required |
true |
| BSP3104 | signature | recommended |
true |
| BSP3103 | signature | recommended |
true |
| BSP3001 | sigReference | recommended |
true |
| BSP5416 | sigReference | required |
true |
| BSP5411 | sigTransforms | required |
true |
| BSP5423 | sigTransform | required |
true |
| BSP5412 | sigTransforms | required |
true |
| BSP3065 | sigTransform | required |
true |
| BSP5404 | canonicalizationMethod | required |
true |
| BSP5420 | digestMethod | recommended |
true |
| BSP5421 | signatureMethod | recommended |
true |
| BSP5401 | signatureMethod | required |
true |
| BSP5402 | sigKeyInfo | required |
true |
| BSP5417 | sigKeyInfo | required |
true |
| BSP5403 | signature | required |
true |
| BSP5440 | signature | required |
true |
| BSP3208 | encryptedKey | required |
true |
| BSP3216 | encryptedKey | recommended |
true |
| BSP3209 | encryptedKey | required |
true |
| BSP5622 | encryptedKey | required |
true |
| BSP5623 | encryptedKey | required |
true |
| BSP5602 | encryptedKey | required |
true |
| BSP5603 | encryptedKey | required |
true |
| BSP5629 | encryptedData | required |
true |
| BSP5601 | encryptedData | required |
true |
| BSP5424 | encKeyInfo | required |
true |
| BSP5426 | encKeyInfo | required |
true |
| BSP5608 | encDataReference | required |
true |
| BSP3006 | ekDataReference | required |
true |
| BSP5613 | encKeyReference | required |
true |
| BSP3007 | ekKeyReference | required |
true |
| BSP5620 | edEncryptionMethod | required |
true |
| BSP5626 | ekEncryptionMethod | required |
true |
| BSP5614 | headerElement | required |
true |
| BSP3029 | binarySecurityToken | required |
true |
| BSP3030 | binarySecurityToken | required |
true |
| BSP3031 | binarySecurityToken | required |
true |
| BSP3032 | binarySecurityToken | required |
true |
| BSP4222 | usernameToken | required |
true |
| BSP4201 | password | required |
true |
| BSP4223 | usernameToken | required |
true |
| BSP4225 | usernameToken | required |
true |
| BSP4220 | nonce | required |
true |
| BSP4221 | nonce | required |
true |
| BSP4214 | strReference | required |
true |
| BSP5207 | strKeyIdentifier | required |
true |
| BSP6301 | strReference | required |
true |
| BSP6602 | strKeyIdentifier | required |
true |
| BSP6604 | strKeyIdentifier | required |
true |
| BSP6607 | samlAuthorityBinding | required |
true |
| BSP6997 | anySecureEnvelope | notTestable |
false |
| BSP6998 | anySecureEnvelope | notTestable |
false |
| BSP6999 | anySecureEnvelope | notTestable |
false |
| BSP0002 | anySecureEnvelope | informational |
true |
| ID | Entry Type | Test Type | Enabled |
| BSP0002 | anySecureEnvelope | informational |
true |
| BSP3001 | sigReference | recommended |
true |
| BSP3006 | ekDataReference | required |
true |
| BSP3007 | ekKeyReference | required |
true |
| BSP3027 | securityTokenReference | required |
true |
| BSP3029 | binarySecurityToken | required |
true |
| BSP3030 | binarySecurityToken | required |
true |
| BSP3031 | binarySecurityToken | required |
true |
| BSP3032 | binarySecurityToken | required |
true |
| BSP3054 | strKeyIdentifier | required |
true |
| BSP3056 | strEmbedded | required |
true |
| BSP3057 | strReference | required |
true |
| BSP3059 | strReference | required |
true |
| BSP3060 | strEmbedded | required |
true |
| BSP3062 | strReference | required |
true |
| BSP3064 | strReference | required |
true |
| BSP3065 | sigTransform | required |
true |
| BSP3066 | strReference | required |
true |
| BSP3067 | strReference | required |
true |
| BSP3070 | strKeyIdentifier | required |
true |
| BSP3071 | strKeyIdentifier | required |
true |
| BSP3102 | signature | required |
true |
| BSP3103 | signature | recommended |
true |
| BSP3104 | signature | recommended |
true |
| BSP3203 | timestamp | required |
true |
| BSP3204 | anySecureEnvelope | required |
true |
| BSP3206 | soapHeader | required |
true |
| BSP3208 | encryptedKey | required |
true |
| BSP3209 | encryptedKey | required |
true |
| BSP3210 | soapHeader | required |
true |
| BSP3213 | created | required |
true |
| BSP3215 | expires | required |
true |
| BSP3216 | encryptedKey | recommended |
true |
| BSP3217 | created | required |
true |
| BSP3220 | created | recommended |
true |
| BSP3221 | timestamp | required |
true |
| BSP3222 | timestamp | required |
true |
| BSP3223 | expires | required |
true |
| BSP3224 | timestamp | required |
true |
| BSP3225 | created | required |
true |
| BSP3226 | expires | required |
true |
| BSP3227 | securityHeader | required |
true |
| BSP3229 | expires | recommended |
true |
| BSP4201 | password | required |
true |
| BSP4214 | strReference | required |
true |
| BSP4220 | nonce | required |
true |
| BSP4221 | nonce | required |
true |
| BSP4222 | usernameToken | required |
true |
| BSP4223 | usernameToken | required |
true |
| BSP4225 | usernameToken | required |
true |
| BSP5207 | strKeyIdentifier | required |
true |
| BSP5401 | signatureMethod | required |
true |
| BSP5402 | sigKeyInfo | required |
true |
| BSP5403 | signature | required |
true |
| BSP5404 | canonicalizationMethod | required |
true |
| BSP5411 | sigTransforms | required |
true |
| BSP5412 | sigTransforms | required |
true |
| BSP5416 | sigReference | required |
true |
| BSP5417 | sigKeyInfo | required |
true |
| BSP5420 | digestMethod | recommended |
true |
| BSP5421 | signatureMethod | recommended |
true |
| BSP5423 | sigTransform | required |
true |
| BSP5424 | encKeyInfo | required |
true |
| BSP5426 | encKeyInfo | required |
true |
| BSP5440 | signature | required |
true |
| BSP5601 | encryptedData | required |
true |
| BSP5602 | encryptedKey | required |
true |
| BSP5603 | encryptedKey | required |
true |
| BSP5607 | anySecureEnvelope | required |
true |
| BSP5608 | encDataReference | required |
true |
| BSP5613 | encKeyReference | required |
true |
| BSP5614 | headerElement | required |
true |
| BSP5620 | edEncryptionMethod | required |
true |
| BSP5622 | encryptedKey | required |
true |
| BSP5623 | encryptedKey | required |
true |
| BSP5626 | ekEncryptionMethod | required |
true |
| BSP5629 | encryptedData | required |
true |
| BSP6301 | strReference | required |
true |
| BSP6602 | strKeyIdentifier | required |
true |
| BSP6604 | strKeyIdentifier | required |
true |
| BSP6607 | samlAuthorityBinding | required |
true |
| BSP6997 | anySecureEnvelope | notTestable |
false |
| BSP6998 | anySecureEnvelope | notTestable |
false |
| BSP6999 | anySecureEnvelope | notTestable |
false |
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| anySecureEnvelope | required |
true |
none | none | [Not specified] | R5607 | ||
Context:
For any
secureEnvelope containing an encryptedKey or encryptedData.
Assertion Description:
"boolean(./self::soap:Envelope[soap:Header])=true() and
boolean(./self::soap:Envelope[soap:Body])=true()"
Failure Message:
A
soap:Envelope containing encryption is not a valid SOAP envelope.
Failure Detail Description:
The soap:Envelope in question.
Comments:
Old
id="BSP6515"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| anySecureEnvelope | required |
true |
none | none | [Not specified] | R3204 | ||
Context:
For any
secureEnvelope.
Assertion Description:
No
two "./self::soap:Envelope//*[@wsu:Id]" attributes have the same value.
Failure Message:
Two
wsu:Id attributes within a soap:Envelope have the same value.
Failure Detail Description:
The soap:Envelope in question.
Comments:
Old
id="BSP6019"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| soapHeader | required |
true |
none | none | [Not specified] | R3206 | ||
Context:
For any
soapHeader.
Assertion Description:
"count(./self::soap:Header/wsse:Security[count(@soap:actor)=0])<=1"
Failure Message:
More than
one wsse:Security block exists in a soap:Header with the actor attribute omitted
(i.e., it is the case that
"count(./self::soap:Header/wsse:Security[count(@soap:actor)=0])>1".
Failure Detail Description:
The soap:Header element in question.
Comments:
Old
id="BSP6020"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| soapHeader | required |
true |
none | none | [Not specified] | R3210 | ||
Context:
For any
soapHeader.
Assertion Description:
All
./self::soap:Header/wsse:Security/@soap:actor are unique.
Failure Message:
Two or
more wsse:Security elements are present in the soap:Header with the same value
for the actor attribute.
Failure Detail Description:
The soap:Header element in question.
Comments:
Old
id="BSP6021"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| securityHeader | required |
true |
none | none | [Not specified] | R3227 | ||
Context:
For any
securityHeader.
Assertion Description:
"boolean(./self::wsse:Security[count(wsu:Timestamp)>1])=false()"
Failure Message:
A
wsse:Security contains more than one wsu:Timestamp (i.e. it is the case that
./self::wsse:Security[count(wsu:Timestamp)>1]).
Failure Detail Description:
The wsse:Security element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| timestamp | required |
true |
none | none | [Not specified] | R3203 | ||
Context:
For any
timestamp.
Assertion Description:
"boolean(./self::wsu:Timestamp[count(wsu:Created)=1])=true()"
Failure Message:
A
wsu:Timestamp element does NOT contain exactly one wsu:Created child element
(i.e., it is the case that "./self::wsu:Timestamp[count(wsu:Created)!=1]").
Failure Detail Description:
The wsu:Timestamp element in question.
Comments:
Old
id="BSP6006"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| timestamp | required |
true |
none | none | [Not specified] | R3224 | ||
Context:
For any
timestamp.
Assertion Description:
"boolean(./self::wsu:Timestamp[count(wsu:Expires)>1])=false()"
Failure Message:
A
wsu:Timestamp element contains more than one wsu:Expires child element (i.e., it
is the case that "./self::wsu:Timestamp[count(wsu:Expires)>1]").
Failure Detail Description:
The wsu:Timestamp element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| timestamp | required |
true |
none | none | BSP3203 BSP3224 |
R3221 | ||
Context:
For any timestamp
that contains an expires.
Assertion Description:
"boolean(./self::wsu:Timestamp/wsu:Expires/preceding-sibling::*=./self::wsu:Timestamp/wsu:Created)=true()"
Failure Message:
wsu:Created and wsu:Expires elements appear in an improper
order within a wsu:Timestamp element.
Failure Detail Description:
The wsu:Timestamp element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| timestamp | required |
true |
none | none | [Not specified] | R3222 | ||
Context:
For any
timestamp
Assertion Description:
"count(./self::wsu:Timestamp/wsu:Created)+count(./self::wsu:Timestamp/wsu:Expires)=count(./self::wsu:Timestamp/*)"
Failure Message:
A
wsu:Timestamp contains child elements other than wsu:Created or wsu:Expires.
Failure Detail Description:
The wsu:Timestamp element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| created | recommended |
true |
none | none | BSP3217 | R3220 | ||
Context:
For any
created.
Assertion Description:
"seconds-from-duration(./self::wsu:Created/text()) should not
contain more than 3 digits to right of decimal."
Failure Message:
A
wsu:Created element contains more than three digits to the right of decimal.
Failure Detail Description:
The wsu:Created element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| expires | recommended |
true |
none | none | BSP3223 | R3229 | ||
Context:
For any
expired.
Assertion Description:
"seconds-from-duration(./self::wsu:Expires/text()) should not
contain more than 3 digits to right of decimal."
Failure Message:
A
wsu:Expires element contains more than three digits to the right of decimal.
Failure Detail Description:
The wsu:Expires element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| created | required |
true |
none | none | BSP3217 | R3213 | ||
Context:
For any created
that contains second values.
Assertion Description:
"seconds-from-duration(./self::wsu:Created/text()) < 60"
Failure Message:
A
wsu:Created element has a seconds value greater than or equal to 60.
Failure Detail Description:
The wsu:Created element in question.
Comments:
Old
id="BSP6012"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| expires | required |
true |
none | none | BSP3223 | R3215 | ||
Context:
For any expires
that contains second values.
Assertion Description:
"seconds-from-duration(./self::wsu:Expires/text()) < 60"
Failure Message:
A
wsu:Expires element has a seconds value greater than or equal to 60.
Failure Detail Description:
The wsu:Expires element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| created | required |
true |
none | none | [Not specified] | R3225 | ||
Context:
For any
created.
Assertion Description:
"boolean(./self::wsu:Created/@ValueType)=false()"
Failure Message:
A
wsu:Created element contains a ValueType attribute (i.e. it is the case that
./self::wsu:Created/@ValueType).
Failure Detail Description:
The wsu:Created element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| expires | required |
true |
none | none | [Not specified] | R3226 | ||
Context:
For any
expires.
Assertion Description:
"boolean(./self::wsu:Expires/@ValueType)=false()"
Failure Message:
A
wsu:Expires element contains a ValueType attribute (i.e. it is the case that
./self::wsu:Expires/@ValueType).
Failure Detail Description:
The wsu:Expires element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| created | required |
true |
none | none | [Not specified] | R3217 | ||
Context:
For any
created.
Assertion Description:
The
time value is in UTC format as specified by the XML Schema type (dateTime).
Failure Message:
A
wsu:Created element does NOT contain time instants in UTC format as specified by
the XML Schema type (dateTime).
Failure Detail Description:
The wsu:Created element(s) in question.
Comments:
Old
id="BSP6013"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| expires | required |
true |
none | none | [Not specified] | R3223 | ||
Context:
For any
expires.
Assertion Description:
The
time value is in UTC format as specified by the XML Schema type (dateTime).
Failure Message:
A
wsu:Expires element does NOT contain time instants in UTC format as specified by
the XML Schema type (dateTime).
Failure Detail Description:
The wsu:Expires element(s) in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | BSP3062 | R3057 | ||
Context:
For any
strReference.
Assertion Description:
The
//[@wsu:Id=./self::wsse:Reference/@URI] is not a wsse:SecurityTokenReference
element.
Failure Message:
A
wsse:Reference element references a wsse:SecurityTokenReference.
Failure Detail Description:
The wsse:Reference element in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | BSP3062 | R3064 | ||
Context:
For any
strReference.
Assertion Description:
The
//[@wsu:Id=./self::wsse:Reference/@URI] is not a wsse:Embedded element.
Failure Message:
A
wsse:Reference element references a wsse:Embedded.
Failure Detail Description:
The wsse:Reference element in question.
Comments:
Old
id="BSP6608"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | [Not specified] | R3059 | ||
Context:
For any
strReference.
Assertion Description:
"boolean(./self::wsse:Reference/@ValueType)=true()"
Failure Message:
A
wsse:Reference element does NOT contain a ValueType attribute (i.e., it is NOT
the case that "./self::wsse:Reference/@ValueType").
Failure Detail Description:
The wsse:Reference element in question.
Comments:
Old
id="BSP6201"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | [Not specified] | R3062 | ||
Context:
For any
strReference.
Assertion Description:
"boolean(./self::wsse:Reference/@URI)=true()"
Failure Message:
A
wsse:Reference element does NOT have a URI attribute (i.e., it is NOT the case
that "./self::wsse:Reference/@URI").
Failure Detail Description:
The wsse:Reference element in question.
Comments:
Old
id="BSP6202"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| securityTokenReference | required |
true |
none | none | [Not specified] | R3027 | ||
Context:
For any
securityTokenReference.
Assertion Description:
"boolean(./self::wsse:SecurityTokenReference[ds:KeyName])=false()"
Failure Message:
A
wsse:SecurityTokenReference contains an ds:KeyName (i.e., it is the case that
"./self::wsse:SecurityTokenReference[ds:KeyName]").
Failure Detail Description:
The wsse:SecurityTokenReference element in question.
Comments:
Old
id="BSP6004"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strKeyIdentifier | required |
true |
none | none | [Not specified] | R3054 | ||
Context:
For any
strKeyIdentifier.
Assertion Description:
"boolean(./self::wsse:KeyIdentifier[@ValueType])=true()"
Failure Message:
A
wsse:KeyIdentifier element does NOT contain a ValueType attribute (i.e., it is
NOT the case that "./self::wsse:KeyIdentifier[@ValueType]").
Failure Detail Description:
The wsse:KeyIdentifier element in question.
Comments:
Old
id="BSP6003"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strKeyIdentifier | required |
true |
none | none | [Not specified] | R3070 | ||
Context:
For any
strKeyIdentifier that refers to a securityToken other than a samlToken.
Assertion Description:
"boolean(./self::wsse:KeyIdentifier[@EncodingType])=true()"
Failure Message:
A
wsse:KeyIndetifier element does NOT contain a EncodingType attribute (i.e., it
is NOT the case that "./self::wsse:KeyIdentifier[@EncodingType]").
Failure Detail Description:
The wsse:KeyIdentifier element in question
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strKeyIdentifier | required |
true |
none | none | BSP3070 | R3071 | ||
Context:
For any
strKeyIdentifier that has an EncodingType attribute.
Assertion Description:
"boolean(./self::wsse:KeyIdentifier[@EncodingType='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary'])=true()"
Failure Message:
A
wsse:KeyIdentifier element contains an EncodingType attribute that does NOT have
a value of
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
(i.e., it is NOT the case that
"./self::wsse:KeyIdentifier[@EncodingType='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary']").
Failure Detail Description:
The wsse:KeyIdentifier element in question
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strEmbedded | required |
true |
none | none | [Not specified] | R3060 | ||
Context:
For any
strEmbedded.
Assertion Description:
"count(./self::wsse:Embedded/*)=1" AND the child is an
internalSecurityToken.
Failure Message:
A
wsse:Embedded element has zero or more than one security token child element
(i.e. it is not the case that count(./self::wsse:Embedded/*)=1)
Failure Detail Description:
The wsse:Embedded element in question.
Comments:
Old
id="BSP6606".
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strEmbedded | required |
true |
none | none | [Not specified] | R3056 | ||
Context:
For any
strEmbedded.
Assertion Description:
"boolean(./self::wsse:Embedded[wsse:SecurityTokenReference])=false()"
Failure Message:
A
wsse:Embedded element contains a wsse:SecurityTokenReference child element (i.e.
it is the case that ./self::wsse:Embedded[wsse:SecurityTokenReference]).
Failure Detail Description:
The wsse:Embedded element in question.
Comments:
Old
id="BSP6604"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | BSP3062 | R3066 | ||
Context:
For any
strReference that is a descendant of a securityHeader.
Assertion Description:
For
__thisURI = "./self::wsse:Reference/@URI"
"boolean(./self::wsse:Reference/ancestor::wsse:Security=//*[concat('#',@wsu:Id)=__thisURI]/ancestor::wsse:Security)=true()"
Failure Message:
A
wsse:Reference uses a shorthand XPointer does not reference any security tokens
located in the same wsse:Security element.
Failure Detail Description:
The wsse:Reference in question.
Comments:
Old
id="BSP6420"
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| strReference | required |
true |
none | none | BSP3062 | R3067 | ||
Context:
For any
strReference that is a descendant of an encryptedData.
Assertion Description:
The
wsse:Reference must not use a Shorthand XPointer to refer to a security token
located in a wsse:Security element other than the wsse:Security element
containing a reference to the xenc:Encrypted element that contains the
wsse:Reference.
Failure Message:
A
wsse:Reference uses a shorthand XPointer does not reference any security tokens
located in the wsse:Security element that contains a reference to the
wsse:Reference's containing xenc:Encrypted.
Failure Detail Description:
The wsse:Reference in question.
Comments:
[Not
specified]
| Entry Type | Test Type | Enabled | Additional Entry Type | |