Hi Brent,
This is probably more than you were asking for but following is the saml token message that is presented to the Server by the client. Following that I have included the Servers and Clients Bindings. I did not include the STS Server as it is just your standard wsHttpBinding. I will look into how to create the SamlToken as a ProtectionToken. Again, thanks for the help.
Dan
<s:Envelope xmlns
="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<a:Action s:mustUnderstand="1" u:Id="_5">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT</a:Action>
<a:MessageID u:Id="_6">urn:uuid:ab44af19-7db7-4865-99ac-4eb07947bddb</a:MessageID>
<a:ReplyTo u:Id="_7">
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1" u:Id="_8">http://devaa2986:8008/AdvantageIQ.AIQService/AIQFunctions</a:To>
<o
ecurity s:mustUnderstand="1" xmlns
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="uuid-8a5e9e48-b132-4baa-95d5-a4027123e94d-15">
<u:Created>2007-10-26T15:00:41.718Z</u:Created>
<u:Expires>2007-10-26T15:05:41.718Z</u:Expires>
</u:Timestamp>
<c
ecurityContextToken u:Id="uuid-2402d297-6b82-4d37-8d38-82702cd42a83-1" xmlns:c="http://schemas.xmlsoap.org/ws/2005/02/sc">
<c:Identifier>urn:uuid:af0e8470-3439-433c-8288-1423a0b19bc0</c:Identifier>
<dnse:Cookie xmlns
nse="http://schemas.microsoft.com/ws/2006/05/security"><!-- Removed --></dnse:Cookie>
</c
ecurityContextToken>
<c
erivedKeyToken u:Id="_0" xmlns:c="http://schemas.xmlsoap.org/ws/2005/02/sc">
<o
ecurityTokenReference>
<o:Reference ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct" URI="#uuid-2402d297-6b82-4d37-8d38-82702cd42a83-1"/>
</o
ecurityTokenReference>
<c
ffset>0</c
ffset>
<c:Length>24</c:Length>
<c:Nonce>
<!-- Removed -->
</c:Nonce>
</c
erivedKeyToken>
<c
erivedKeyToken u:Id="_2" xmlns:c="http://schemas.xmlsoap.org/ws/2005/02/sc">
<o
ecurityTokenReference>
<o:Reference ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct" URI="#uuid-2402d297-6b82-4d37-8d38-82702cd42a83-1"/>
</o
ecurityTokenReference>
<c:Nonce>
<!-- Removed -->
</c:Nonce>
</c
erivedKeyToken>
<e:ReferenceList xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e
ataReference URI="#_4"/>
<e
ataReference URI="#_10"/>
<e
ataReference URI="#_11"/>
</e:ReferenceList>
<saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="_c004784e-46dd-4f4f-89a0-b86e4728dd0c" Issuer="AIQ STS Service" IssueInstant="2007-10-26T15:00:41.671Z" xmlns
aml="urn
asis:names:tc
AML:1.0:assertion">
<saml:Conditions NotBefore="2007-10-26T14:55:41.640Z" NotOnOrAfter="2007-10-27T01:00:41.640Z"/>
<saml:Advice/>
<saml:AttributeStatement>
<saml
ubject>
<saml
ubjectConfirmation>
<saml:ConfirmationMethod>urn
asis:names:tc
AML:1.0:cm:holder-of-key</saml:ConfirmationMethod>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
</e:EncryptionMethod>
<KeyInfo>
<o
ecurityTokenReference>
<o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">t36phKNBled6fY4Ud8KAo+2tuvk=</o:KeyIdentifier>
</o
ecurityTokenReference>
</KeyInfo>
<e:CipherData>
<e:CipherValue><!-- Removed --></e:CipherValue>
</e:CipherData>
</e:EncryptedKey>
</KeyInfo>
</saml
ubjectConfirmation>
</saml
ubject>
<saml:Attribute AttributeName="name" AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims">
<saml:AttributeValue>
<!-- Removed -->
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="spn" AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims">
<saml:AttributeValue>
<!-- Removed -->
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="upn" AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims">
<saml:AttributeValue>
<!-- Removed -->
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="accessAuthorized" AttributeNamespace="http://AdvantageIQ.com">
<saml:AttributeValue>
<!-- Removed -->
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#_c004784e-46dd-4f4f-89a0-b86e4728dd0c">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>AD8/SddRMMhW0w54mvj2kmT2tgo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue><!-- Removed --></SignatureValue>
<KeyInfo>
<o
ecurityTokenReference>
<o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">t36phKNBled6fY4Ud8KAo+2tuvk=</o:KeyIdentifier>
</o
ecurityTokenReference>
</KeyInfo>
</Signature>
</saml:Assertion>
<c
erivedKeyToken u:Id="_9" xmlns:c="http://schemas.xmlsoap.org/ws/2005/02/sc">
<o
ecurityTokenReference>
<o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_c004784e-46dd-4f4f-89a0-b86e4728dd0c</o:KeyIdentifier>
</o
ecurityTokenReference>
<c
ffset>0</c
ffset>
<c:Length>24</c:Length>
<c:Nonce>
<!-- Removed -->
</c:Nonce>
</c
erivedKeyToken>
<e:EncryptedData Id="_10" Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<o
ecurityTokenReference>
<o:Reference URI="#_2"/>
</o
ecurityTokenReference>
</KeyInfo>
<e:CipherData>
<e:CipherValue><!-- Removed --></e:CipherValue>
</e:CipherData>
</e:EncryptedData>
<e:EncryptedData Id="_11" Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<o
ecurityTokenReference>
<o:Reference URI="#_2"/>
</o
ecurityTokenReference>
</KeyInfo>
<e:CipherData>
<e:CipherValue><!-- Removed --></e:CipherValue>
</e:CipherData>
</e:EncryptedData>
</o
ecurity>
</s:Header>
<s:Body u:Id="_3">
<e:EncryptedData Id="_4" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<o
ecurityTokenReference xmlns
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<o:Reference URI="#_2"/>
</o
ecurityTokenReference>
</KeyInfo>
<e:CipherData>
<e:CipherValue><!-- Removed --></e:CipherValue>
</e:CipherData>
</e:EncryptedData>
</s:Body>
</s:Envelope>
------------------------------------------------------ Servers Binding -----------------------------------
< xml version="1.0" encoding="utf-8" >
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="AIQService"
name="AdvantageIQ.STS.AIQServiceFunctions">
<endpoint address="AIQFunctions"
binding="wsFederationHttpBinding"
bindingConfiguration="AIQStsExample"
name="AIQFunctions"
contract="AdvantageIQ.STS.IAIQServiceFunctions" />
<endpoint address="metaData"
binding="mexHttpBinding"
name="MetaDataExchange"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://DEVAA2986:8008/AdvantageIQ.AIQService" />
</baseAddresses>
</host>
</service>
</services>
<client>
<endpoint address="http://DEVAA2986:8012/AdvantageIQ.AIQVendor/AIQVendorFunctions"
binding="wsFederationHttpBinding"
bindingConfiguration="AIQFunctions"
contract="AdvantageIQ.STS.VendorService.AIQServiceFunctions"
name="AIQVendor"
behaviorConfiguration="clientCert">
<identity>
<dns value="AIQStsService.com"/>
</identity>
</endpoint>
</client>
<bindings>
<wsFederationHttpBinding>
<binding name="AIQStsExample" openTimeout="00:02:00">
<security mode="Message">
<message issuedKeyType="AsymmetricKey"
issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
<!--<claimTypeRequirements>
<add claimType="http://AdvantageIQ.com:accessAuthorized" />
</claimTypeRequirements>-->
<issuer address="http://localhost:8006/AdvantageIQ.STSService/UserNameAuthorization" />
<issuerMetadata address="http://localhost:8006/AdvantageIQ.STSService/metaData" >
</issuerMetadata>
</message>
</security>
</binding>
<binding name="AIQFunctions">
<security mode="Message">
<message>
<issuer address="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization"
binding="wsHttpBinding"
bindingConfiguration="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization">
<identity>
<dns value="AIQStsService.com"/>
</identity>
</issuer>
</message>
</security>
</binding>
</wsFederationHttpBinding>
<wsHttpBinding>
<binding name="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="clientCert">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="PeerOrChainTrust"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="AIQService">
<serviceAuthorization serviceAuthorizationManagerType="AdvantageIQ.STS.ServiceAuthorization, AdvantageIQ.STS.AIQService" />
<serviceCredentials>
<serviceCertificate findValue="AIQStsService.com"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"/>
</serviceCredentials>
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
------------------------------------------ Client Binding ------------------------------------
< xml version="1.0" encoding="utf-8" >
<configuration>
<system.serviceModel>
<bindings>
<wsFederationHttpBinding>
<binding name="AIQFunctions">
<security mode="Message">
<message>
<issuer address="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization"
binding="wsHttpBinding"
bindingConfiguration="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization">
<identity>
<dns value="AIQStsService.com"/>
</identity>
</issuer>
</message>
</security>
</binding>
</wsFederationHttpBinding>
<wsHttpBinding>
<binding name="http://DEVAA2986:8006/AdvantageIQ.STSService/UserNameAuthorization">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://DEVAA2986:8008/AdvantageIQ.AIQService/AIQFunctions"
binding="wsFederationHttpBinding"
bindingConfiguration="AIQFunctions"
contract="AdvantageIQ.STS.AIQServiceFunctions.AIQServiceFunctions"
name="AIQFunctions"
behaviorConfiguration="clientCert">
<identity>
<dns value="HomeRealmSTS.com"/>
</identity>
</endpoint>
<endpoint address="http://DEVAA2986:8012/AdvantageIQ.AIQVendor/AIQVendorFunctions"
binding="wsFederationHttpBinding"
bindingConfiguration="AIQFunctions"
contract="AdvantageIQ.STS.VendorService.AIQServiceFunctions"
name="AIQVendor"
behaviorConfiguration="clientCert">
<identity>
<dns value="AIQStsService.com"/>
</identity>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="clientCert">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="PeerOrChainTrust"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>