WCF: How to send two different client certificates as credentials at both Transport and Message Level

WCF: How to send two different client certificates as credentials at both Transport and Message Level   Requirement: Transport Security Details A secure transport layer via mutually authenticated SSL/TLS (MASSL) is required. Mutually authenticated SSL requires the use of a client certificate to be provided to the server and validated by the server. If a…


WCF: Review System.Net and Network traces for Windows Authentication/Delegation based troubleshooting

WCF: Review System.Net and Network traces for Windows Authentication/Delegation based troubleshooting   System.Net traces <?xml version=”1.0″ encoding=”utf-8″ ?> <configuration> <system.diagnostics> <trace autoflush=”true” /> <sources> <source name=”System.Net”> <listeners> <add name=”System.Net”/> </listeners> </source> <source name=”System.Net.HttpListener”> <listeners> <add name=”System.Net”/> </listeners> </source> <source name=”System.Net.Sockets”> <listeners> <add name=”System.Net”/> </listeners> </source> <source name=”System.Net.Cache”> <listeners> <add name=”System.Net”/> </listeners> </source> </sources> <sharedListeners> <add…


WCF: Introp – Signing without primary signature requires timestamp.

WCF: Introp – Signing without primary signature requires timestamp. Security Requirement: SSL Channel SAML token for authentication as part of <security> header TimeStamp being added after the SAML Token   Working request from .Net client: <wsse:Security S:mustUnderstand=”true”> <wsu:Timestamp xmlns:ns17=”http://docs.oasis-open.org/ws-sx/ws- secureconversation/200512″ xmlns:ns16=”http://schemas.xmlsoap.org/soap/envelope/” wsu:Id=”_1″> <wsu:Created>2015-12-23T16:30:10Z</wsu:Created> <wsu:Expires>2015-12-23T16:35:10Z</wsu:Expires> </wsu:Timestamp> <saml2:Assertion xmlns:ds=”http://www.w3.org/2000/09/xmldsig#” xmlns:exc14n=”http://www.w3.org/2001/10/xml-exc-c14n#” xmlns:saml2=”urn:oasis:names:tc:SAML:2.0:assertion” xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#” xmlns:xs=”http://www.w3.org/2001/XMLSchema” ID=”_906f6505770a46018fa4d9fed4fc9713″ IssueInstant=”2015-12-23T16:30:10.153Z” Version=”2.0″> </saml2:Assertion>…


WF: Running Work Flow application on FIPS (The Federal Information Processing Standard) complaint Machines.

WF: Running Work Flow application on FIPS (The Federal Information Processing Standard) complaint Machines.   Issue: Using the System.Workflow.Runtime library in our code and when creating the workflow with WorkflowRuntime.CreateWorkflow()   We get the following exception: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. at System.Security.Cryptography.MD5CryptoServiceProvider..ctor() at System.Workflow.Runtime.HashHelper.HashServiceType(String serviceFullTypeName)…


COM: Intermittent error 800703fa: Illegal Operation attempted on a registry key

Intermittent error 800703fa: Illegal Operation attempted on a registry key You may encounter the error 800703fa intermittently while running an application on IIS.   Error details: Retrieving the COM class factory for component with CLSID {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} failed due to the following error: 800703fa Illegal Operation attempted on a registry key that has been marked for…


Troubleshooting WIF ID3206 Error

Problem Statement While trying to browse to a WIF enabled application – https://myApplication/WebAppHome, we get the following error – ID3206: A SignInResponse message may only redirect within the current web application: ‘/DPWebApps’ is not allowed. However, the same application works when we are browsing with a trailing slash – “/”, i.e. https://myApplication/WebAppHome/ The goal is…


WCF: Forward compatibility issues with DataContractSerializer

Problem statement .Net objects are referenced in cyclic (mutual) nature. DataContractSerializer de-serialization uses to fail in case of forward compatibility (i.e. when it tried to read from ExtensionDataObject). Discussion  using System.Runtime.Serialization; Version2 Project      [DataContract(Name = “People”, Namespace = “Tests.DataContract”)]     [KnownType(typeof(Person))]     [KnownType(typeof(AnotherPerson))]     public class People : IExtensibleDataObject     {         [DataMember]         public…