WCF Configuration Pt1 : SSL and Windows Authentication

WCF isn’t the easiest beast to wrangle, and when looking to secure a WCF web service I usually do it in stages.
In this post and further posts in the next week, I’ll be securing a WCF web service with various endpoints with various different security requirements.  To start with I’m just going to secure it with Windows authentication and SSL.

It always seems to take a little fiddling to get to the first stage, published in IIS using SSL and Windows Authentication whilst still functioning.

Once IIS has been configured

  • Website created
  • Single HTTPS binding
  • SSL Settings (Require) (Ignore client certificates)

The next step is to get the webconfig to work over SSL and to use windows authentication.

And the endpoint config will look something like this;

So there you go, simple configuration to use enforce SSL and Windows Authentication in WCF.


Are certifications worth the paper they’re printed on?

I seem to often be having the discussion these days about Microsoft Certification, and it’s actual value. Having worked with the Microsoft stack of development and server technologies for over 12 years I’ve got a lot of proven experience with products like SQL Server and Visual Studio so why bother taking the exams if it’s evident I know the product/technology well??

I don’t view experience and exams as mutually exclusive, in fact since the exams normally heavily emphasise the new features in that version it shows you have a breadth of knowledge in that area. Too many developers stick to what they know and don’t make use of the advances in technology, the VBA developer brings with him the “on error resume next” / “goto” mistakes of the past up to .NET.
However, taking exams with little prior knowledge of the subject areas or professional experience in that area isn’t a quick route to success. It’ll put you on the right track, but just because you have your MCPD it doesn’t make you better than the guy sat next to you with a careers worth of experience.

Certification shows a desire to learn, there were a few topics i learnt about whilst studying for my 70-515 .NET4 Web exam that I haven’t ever spent anytime on. Theming and skinning being two of those areas, I’ve never bothered using it as CSS has always been good to me… But at least I understand what it is and why I’m choosing not to use it.

I’ll end this exploration into my opinions here, and will be sure to post again when I get my MCPD badge and gun.

Resetting the admin password of a Visual Sourcesafe database

I stumbled across an old visual studio database at work that was inaccessible.

After finding a couple of Visual Sourcesafe crack applications, i settled on doing it manually with a hex editor (HxD Hex Editor).

Find the sourcesafe database in windows explorer, open the data directory and open um.dat.

Changing to the values highlighted in red reset the Admin password to an empty string.

Crappy Code Games

In May, the SQL Server conference SQLBits 8 took place in Brighton. Fusion-IO had sponsored the event and had initiated the first Crappy Code Games event. This consisted of 4 challenges designed to flex the IO of the Fusion-IO drives.

Prior to the Crappy Code Games final in Brighton there were 2 previous warm up events in Manchester and London, I attended the London event and entered one of the challenges; “Maximum number of transactions in a minute” and came third bagging myself a podium place and a Winmo phone.

Then came the final, which I actually couldn’t attend.  I left a revised script file with @mdknee who entered it under my name, and later that night received a few tweets from the Fusion-IO representatives from the event.

Somehow, I’d managed to bag first prize which was a flight experience with 2 high performance aircraft.

Here’s a pic of me being presented with the award by Steve Woziak (I’m the piece of paper 🙂 )

On the podium at Crappy Code Games

And some links where i’m name checked





Powershell function to add script to the profile

I’m currently in the middle of learning powershell; More specifically, on day 4 of the Microsoft 10325a Automating Administration with Windows Powershell 2.0.

With my coding background, i’ve tended to write most of the script inside functions to try and promote reuse.  I’ve found that maintaining a library of functions to be a bit of a headache so ended up writing the function below.  It’s by no means perfect (lets face it, PoSH is a little new to me currently… lets see how long before v2 makes it onto my blog), but it does the job.