Share via


<X509Extension> Element

Specifies a claim about an X.509 certificate property.

<policyDocument> Element
  <policies> Element
    <Policy> Element (WSE for Microsoft .NET) (1)
      <Confidentiality> Element
        <KeyInfo> Element (WSE for Microsoft .NET) (1)
          <SecurityToken> Element
            <Claims> Element
              <policyDocument> Element
                <policies> Element
                  <Policy> Element (WSE for Microsoft .NET) (1)
                    <Integrity> Element
                      <TokenInfo> Element
                        <SecurityToken> Element
                          <Claims> Element

<X509Extension OID="2.5.29.14" MatchType="wssp:Exact">
  BcLNPjKXLfEhsLo+XErJhWEzgF8=
</wssp:X509Extension>

Attributes and Elements

Attributes

Attribute Description

OID

Required attribute. Specifies the property name using its object identifier (OID). WSE only supports the 2.5.29.14 OID, which represents the subject key identifier.

MatchType

Required attribute. Specifies how WSE matches the value of the <X509Extension> element with the X.509 certificate property value. WSE only supports a setting of wssp:Exact and this must be specified.

Child Elements

None

Parent Elements

Element Description

<Claims> Element

Specifies requirements that are specific to a security token type.

Example

The following code example defines a policy assertion named signed-body-x509 that requires the digital signing of the <Body> element, timestamp header, and all addressing headers by an X509SecurityToken and requires that its subject key identifier property have the value BcLNPjKXLfEhsLo+XErJhWEzgF8=. SOAP messages sent to the http://www.cohowinery.com/x509signing.asmx endpoint must adhere to the policy assertion.

Note

This code example is designed to demonstrate WSE features and is not intended for production use.

<?xml version="1.0" encoding="utf-8"?>
<policyDocument xmlns="https://schemas.microsoft.com/wse/2003/06/Policy">
  <mappings>
    <endpoint uri="http://www.cohowinery.com/x509signing.asmx">
      <defaultOperation>
        <request policy="#signed-body-x509" />
        <response policy="" />
        <fault policy="" />
      </defaultOperation>
    </endpoint>
  </mappings>
  <policies xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
            xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
            xmlns:wse="https://schemas.microsoft.com/wse/2003/06/Policy"
            xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/03/addressing"
            xmlns:wssp="https://schemas.xmlsoap.org/ws/2002/12/secext"
            xmlns:wsp="https://schemas.xmlsoap.org/ws/2002/12/policy"
            xmlns:wssc="https://schemas.xmlsoap.org/ws/2004/04/sc"
            xmlns:rp="https://schemas.xmlsoap.org/rp">
    <!--This policy ensures that the message is digitally signed with
        an X509SecurityToken.-->
    <wsp:Policy wsu:Id="signed-body-x509">
      <wssp:Integrity wsp:Usage="wsp:Required">
        <wssp:TokenInfo>
          <wssp:SecurityToken>
            <wssp:TokenType>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</wssp:TokenType>
            <wssp:Claims>
              <wssp:X509Extension OID="2.5.29.14" MatchType="wssp:Exact">                    BcLNPjKXLfEhsLo+XErJhWEzgF8=              </wssp:X509Extension>
            </wssp:Claims>
          </wssp:SecurityToken>
        </wssp:TokenInfo>
        <wssp:MessageParts xmlns:rp="https://schemas.xmlsoap.org/rp"
          Dialect="https://schemas.xmlsoap.org/2002/12/wsse#part">
          wsp:Body() wse:Timestamp() wse:Addressing()
        </wssp:MessageParts>
      </wssp:Integrity>
    </wsp:Policy>
  </policies>
</policyDocument>

See Also

Reference

X509SecurityToken
<Claims> Element

Concepts

Policy File Schema

Other Resources

X.509 Certificate
Configuring a Web Service's Policy