If your trying to get the WSE 2.0 samples setup then you will find these links most helpful. I have been using these to get the “AsymmetricEncryption“ sample up and running on Windows 2000 Professional.
http://pluralsight.com/blogs/aaron/archive/2004/07/13/1623.aspx
http://hyperthink.net/blog/PermaLink,guid,d453be63-5389-450b-8bae-81113fa188f4.aspx
I also found that on Windows 2000 Professional that there is no "Other People Store" and the advice to use IE to import the Public Portion of the Server key does not work. To get around this I simply added the “Server Public.cer“ to “Current User\Personal“ and the samples work as is with no code changes.
If you attempt to import the public portion cert “Server Public.cer“ to another location i.e. “Current User\Trusted People“ you will get policy errors such as “WSE405: A satisfactory subset of policy assertions that could be enforced for the outgoing message could not be found.“. This is basically caused due to the fact that the certificate specified in your policyCache.config can not be found.
Another handy tip is to ensure you have diagnostics policy tracing set to on, this will generate a “SendPolicy.webinfo“ file in your client bin directory with details of any errors. It will provide you with handy information such as:
<wset:message action="http://stockservice.contoso.com/wse/samples/2003/06/StockQuoteRequest" messageId="uuid:e8c0df94-bc61-4430-bcc6-a97fd4018192" appDomain="AsymEncryptPolicyClient.exe" time="2005-08-18T11:21:53.1093750+12:00">
<wset:compile qname="wsp:Policy" wsu:Id="#Encrypt-X.509" usage="Required" canEnforce="false">
<wset:compile qname="wssp:Confidentiality" usage="Required" canEnforce="false">
<wset:annotation>ISecurityTokenManager.PermitsPolicyEnforcementTokenCaching is set to true in the token manager registered for this token type. A token will be loaded from the token manager and cached for subsequent message enforcement.</wset:annotation>
<wset:annotation>Invoking ISecurityTokenManager.LoadTokenFromSecurityTokenAssertion from the token manager registered for this token type.</wset:annotation>
<wset:annotation>Could not find a security token.</wset:annotation>
<wset:annotation>Looking for a satisfactory token in the current message's token collection...</wset:annotation>
<wset:annotation>Looking for a satisfactory token in policy enforcement token cache...</wset:annotation>
<wset:annotation>ISecurityTokenManager.PermitsPolicyEnforcementTokenCaching is set to true in the token manager registered for this token type. Attempting to use the previously cached token...</wset:annotation>
<wset:annotation>Invoking ISecurityTokenManager.LoadTokenFromSecurityTokenAssertion from the token manager registered for this token type.</wset:annotation>
<wset:annotation>Could not find a security token.</wset:annotation>
</wset:compile>
</wset:compile>
</wset:message>