Skip to main content

Posts

Showing posts with the label Certificate

Connecting to SOAP service with certificate authentication

I have rarely worked with certificate based authentication, so when I got this neat little SOAP service with certificate authentication in my hands I gladly accepted the challenge. All I got was the URL to the service with a certificate and the password. I also got an example written in PHP: $client = new SoapClient("https://url.to.service/", array(         'local_cert' => 'client_certificate.pem', 'passphrase' => 'PASSPHRASE',         'cache_wsdl' => WSDL_CACHE_NONE )); This of course looks very easy, but we all know that it's not really that easy if I want to use .NET and WCF. First of all the PEM-certificate cannot natively be used in .NET. Second of all I don't have the WSDL for the service. Here are the steps I had to go through to be able to successfully connect to the SOAP service. Convert the certificate The certificate I received was a PEM certificate which included both the private and public key. .NET ...

TFS Build and password protected strong name keys

A problem that I and many others  have had occurs whe you use TFS Build to build projects that are signed with a password protected strong name key. When the project is built the first time in Visual Studio a dialog pops up prompting for the password. In an automated build process this dialog cannot be displayed, which results in the following error: C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7): error MSB4018: The "ResolveKeySource" task failed unexpectedly. System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application. at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) at System.Windows.Forms.Form.ShowDialog() at Microsoft.Build.Tasks.ResolveKeySource.ResolveAssemblyKey() at Microsoft.Build.Tasks.ResolveKeySource.Execute() at Mic...