<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Musings from Gudge</title><subtitle type="html" /><id>http://www.pluralsight.com/community/blogs/mgudgin/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.pluralsight.com/community/blogs/mgudgin/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.pluralsight.com/community/blogs/mgudgin/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30619.63">Community Server</generator><updated>2005-08-31T23:45:00Z</updated><entry><title>PDC 2008</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2008/08/02/pdc-2008.aspx" /><id>/community/blogs/mgudgin/archive/2008/08/02/pdc-2008.aspx</id><published>2008-08-01T18:38:00Z</published><updated>2008-08-01T18:38:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;I&amp;#39;ve been in the U.S. nearly two years now, working away on various things with the &lt;a href="http://www.pluralsight.com/community/blogs/jeffsch/default.aspx"&gt;rest&lt;/a&gt; of the &lt;a href="http://www.pluralsight.com/community/blogs/dbox/default.aspx"&gt;folks&lt;/a&gt; on my &lt;a href="http://www.sellsbrothers.com/"&gt;team&lt;/a&gt;. Soon I&amp;#39;ll be able to talk about what I&amp;#39;ve been working on in public; &lt;a href="http://www.sellsbrothers.com/"&gt;Chris Sells&lt;/a&gt; and I will be delivering a talk at &lt;a href="http://microsoftpdc.com/Default.aspx"&gt;PDC 2008&lt;/a&gt;, currently entitled &lt;a href="http://channel9.msdn.com/pdc2008/TL%2028/"&gt;&amp;quot;Oslo&amp;quot;: Repository and Schemas&lt;/a&gt;, catchy, huh?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=52310" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Oslo PDC Work" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Oslo+PDC+Work/default.aspx" /></entry><entry><title>Windows Workflow/Rules Designer Re-hosting</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2008/03/13/50467.aspx" /><id>/community/blogs/mgudgin/archive/2008/03/13/50467.aspx</id><published>2008-03-13T14:05:00Z</published><updated>2008-03-13T14:05:00Z</updated><content type="html">&lt;FONT face=Verdana&gt;The design surface of the shipping Windows Workflow Designer can be re-hosted in applications other than Visual Studio. The team that owns building the vNext designer is looking for input around re-hosting scenarios. If you have an interest in this feature, you can help shape its future by filling out &lt;/FONT&gt;&lt;A href="https://live.datstat.com/MSCSD-Collector/Survey.ashx?Name=WF_Rules_Designer_Rehosting_Blogs"&gt;&lt;FONT face=Verdana&gt;this survey&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt;, on or before March 19.&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=50467" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Work" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Work/default.aspx" /></entry><entry><title>Update</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2007/11/20/49245.aspx" /><id>/community/blogs/mgudgin/archive/2007/11/20/49245.aspx</id><published>2007-11-20T08:10:00Z</published><updated>2007-11-20T08:10:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Verdana&gt;Given that my &lt;A href="http://www.douglasp.com/blog/"&gt;grand-boss&lt;/A&gt; has &lt;A href="http://www.douglasp.com/blog/2007/11/15/MyTeamIsHiring.aspx"&gt;exhorted me&lt;/A&gt; to update this page, I thought I'd better do something...&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;I've been working with all the folks Doug mentions since I re-located to Washington state from the UK, in August last year. I love working on this team, it's dynamic, exciting, there's plenty of variety, the people on the&amp;nbsp;team are really smart (I'm learning lots)&amp;nbsp;and the one month milestone approach really works well. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;I've personally been doing a lot of work with XAML over the last 6-8 months (which I think is OK to mention) and will likely be working with XAML for the first half of 2008 too. I'll try to come up with some XAML related posts sometime soon.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=49245" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>Indigo STS Implementation</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2006/06/19/28503.aspx" /><id>/community/blogs/mgudgin/archive/2006/06/19/28503.aspx</id><published>2006-06-19T13:20:00Z</published><updated>2006-06-19T13:20:00Z</updated><content type="html">&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;A &lt;A href="http://pluralsight.com/blogs/tjanczuk/default.aspx"&gt;couple&lt;/A&gt; of &lt;A href="http://www.dasblonde.net/"&gt;folks&lt;/A&gt; were giving talks at TechEd this week and used a little Security Token Service (STS) prototype I'd put together. I'm posting a version &lt;A href="http://pluralsight.com/tjanczuk/TechEd2006/STS.zip"&gt;here&lt;/A&gt; so that folks can download it and play with it at their leisure. Any suggestions for improvements, new features, bug reports, post a comment.&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;Thanks to &lt;A href="http://pluralsight.com/blogs/tjanczuk/default.aspx"&gt;Tomek&lt;/A&gt; for posting the file. I was too inept to be able to figure out how to upload using winscp&amp;#8230;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;BTW - You'll need a fairly recent build of Indigo to compile and run this code.&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=28503" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Protocols" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Protocols/default.aspx" /><category term="Security" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx" /><category term="Indigo" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx" /></entry><entry><title>Crypto Rap!!!</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2006/05/24/24963.aspx" /><id>/community/blogs/mgudgin/archive/2006/05/24/24963.aspx</id><published>2006-05-23T17:46:00Z</published><updated>2006-05-23T17:46:00Z</updated><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;One of the devs on my team pointed me at &lt;a href="http://www.cs.purdue.edu/homes/anavabi/mp3/MC%20Plus+%20-%20Algorhythms%20-%20Alice%20and%20Bob.mp3"&gt;this&lt;/a&gt;…&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Priceless!&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=24963" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>httpcfg Flag Weirdness</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2006/05/16/24111.aspx" /><id>/community/blogs/mgudgin/archive/2006/05/16/24111.aspx</id><published>2006-05-16T04:18:00Z</published><updated>2006-05-16T04:18:00Z</updated><content type="html">&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;A while back, I wrote a &lt;A href="http://pluralsight.com/blogs/mgudgin/archive/2005/08/30/14417.aspx"&gt;couple&lt;/A&gt; of &lt;A href="http://pluralsight.com/blogs/mgudgin/archive/2005/08/31/14448.aspx"&gt;entries&lt;/A&gt; on &lt;A href="http://technet2.microsoft.com/WindowsServer/en/Library/e17527d2-105a-451f-8e3f-d515479527011033.mspx?mfr=true"&gt;httpcfg&lt;/A&gt;&amp;nbsp;and using it to configure certificates when self-hosting Indigo services. The &lt;A href="http://pluralsight.com/blogs/mgudgin/archive/2005/08/31/14448.aspx"&gt;second entry&lt;/A&gt; talked about the various flags that could be passed using the -f parameter.&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;Unfortunately, I neglected to mention that you can't actually use the syntax with preceding 0x and zeros, despite the fact that the usage help you get from just typing httpcfg at the command line would lead you to believe that such syntax would work just fine.&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;It turns out you actually need to specify the values as straight decimal numbers, like this;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 1 (Gives you cert mapping to windows accounts)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 2 (Gives you client cert support)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 3 (Gives you both client cert support and mapping to windows accounts)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 4 (Turns off ISAPI routing)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 5 (Turns off ISAPI routing and gives you cert mapping to windows accounts)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 6 (Turns off ISAPI routing and gives you client cert support)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;httpcfg &amp;lt;otheroptions&amp;gt; -f 7 (Turns off ISAPI routing and gives you both client cert support and mapping to windows accounts)&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;So if you want to use client certs you need -f 2 on the command line ( and NOT -f 0x00000002 )&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=24111" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Indigo" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx" /></entry><entry><title>More on Service Factory</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2006/04/19/22009.aspx" /><id>/community/blogs/mgudgin/archive/2006/04/19/22009.aspx</id><published>2006-04-18T16:45:00Z</published><updated>2006-04-18T16:45:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/thehoggblog/archive/2006/04/13/576256.aspx"&gt;Jason&lt;/A&gt; has an &lt;A href="http://blogs.msdn.com/thehoggblog/archive/2006/04/13/576256.aspx"&gt;entry&lt;/A&gt; giving more details on the &lt;A href="http://practices.gotdotnet.com/projects/svcfactory"&gt;Service Factory&lt;/A&gt;.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=22009" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Security" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx" /><category term="Indigo" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx" /></entry><entry><title>Service Factory Open For Business</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2006/04/19/22008.aspx" /><id>/community/blogs/mgudgin/archive/2006/04/19/22008.aspx</id><published>2006-04-18T16:30:00Z</published><updated>2006-04-18T16:30:00Z</updated><content type="html">&lt;P&gt;My friends and colleagues Jason Hogg and Don Smith, along with some other smart folk have recently opened up the &lt;A href="http://practices.gotdotnet.com/projects/svcfactory"&gt;Service Factory&lt;/A&gt; over on &lt;A href="http://www.gotdotnet.com/"&gt;GotDotNet&lt;/A&gt;. They have a some cool Visual Studio 2005 tooling that provides guidance around building and securing web services. Their latest drops have WCF support. Go check it out!&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=22008" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Security" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx" /><category term="Indigo" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx" /></entry><entry><title>WSE 3.0 Ships</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/11/08/16401.aspx" /><id>/community/blogs/mgudgin/archive/2005/11/08/16401.aspx</id><published>2005-11-08T13:26:00Z</published><updated>2005-11-08T13:26:00Z</updated><content type="html">&lt;a href="http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspx" xmlns="http://www.w3.org/1999/xhtml"&gt;WSE 3.0&lt;/a&gt; has shipped. Hurrah! And congratulations to the team.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=16401" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>Will the real Steve Swartz please stand up…</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/10/20/15761.aspx" /><id>/community/blogs/mgudgin/archive/2005/10/20/15761.aspx</id><published>2005-10-20T08:13:00Z</published><updated>2005-10-20T08:13:00Z</updated><content type="html">&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;I seem to remember Steve Swartz had a blog here at PluralSight for a while, but the content was somewhat, well, lacking ( and now gone ).&amp;nbsp;I've recently found out why. The blog Steve devotes his time to is actually &lt;A href="http://www.threadless.com/profile/168993/steve_swartz"&gt;here&lt;/A&gt;.&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=15761" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>Doug Walter is in the house!</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/09/29/15090.aspx" /><id>/community/blogs/mgudgin/archive/2005/09/29/15090.aspx</id><published>2005-09-28T23:42:00Z</published><updated>2005-09-28T23:42:00Z</updated><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;My friend and colleague Doug Walter now has a &lt;a href="http://pluralsight.com/blogs/dougwa/default.aspx"&gt;blog&lt;/a&gt; on this esteemed &lt;a href="http://pluralsight.com/"&gt;site&lt;/a&gt;. &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Doug is the lead development lead on the Indigo security team and I've had the pleasure of working with him on a bunch of things, including WS-SecurityPolicy and our claims-based authorization story in Indigo, over the past year or so.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I'm fairly sure that Doug and I will both be posting entries related to authorization over the next few weeks. It promises to be an interesting ride, so hop aboard!&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=15090" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>wsu:Timestamp, first or last?</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/09/10/14752.aspx" /><id>/community/blogs/mgudgin/archive/2005/09/10/14752.aspx</id><published>2005-09-10T02:33:00Z</published><updated>2005-09-10T02:33:00Z</updated><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;There seem to be two schools of thought as to where the best place is for the wsu:Timestamp element in the wsse:Security header. One approach is to put the timestamp at the end of the header;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Lucida Console"&gt;&amp;lt;wsse:Security&amp;gt;&lt;br /&gt; &amp;lt;wsse:BinarySecurityToken … &amp;gt;&lt;br /&gt; …&lt;br /&gt; &amp;lt;/wsse:BinarySecurityToken&amp;gt;&lt;br /&gt; &amp;lt;ds:Signature&amp;gt;&lt;br /&gt; …&lt;br /&gt; &amp;lt;/ds:Signature&amp;gt;&lt;br /&gt; &amp;lt;wsu:Timestamp&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Lucida Console"&gt;  &amp;lt;wsu:Created …&amp;gt;2005-09-08T10:05:27Z&amp;lt;/wsu:Created&amp;gt;&lt;br /&gt; &amp;lt;/wsu:Timestamp&amp;gt;&lt;br /&gt;&amp;lt;/wsse:Security&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;the other approach is to put the timestamp at the beginning;&lt;br /&gt;&lt;br /&gt;&lt;font face="Lucida Console"&gt;&amp;lt;wsse:Security&amp;gt;&lt;br /&gt; &amp;lt;wsu:Timestamp&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Lucida Console"&gt; &lt;font face="Lucida Console"&gt;  &amp;lt;wsu:Created …&amp;gt;2005-09-08T10:06:15Z&amp;lt;/wsu:Created&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;lt;/wsu:Timestamp&amp;gt;&lt;br /&gt; &amp;lt;wsse:BinarySecurityToken … &amp;gt;&lt;br /&gt; …&lt;br /&gt; &amp;lt;/wsse:BinarySecurityToken&amp;gt;&lt;br /&gt; &amp;lt;ds:Signature&amp;gt;&lt;br /&gt; …&lt;br /&gt; &amp;lt;/ds:Signature&amp;gt;&lt;br /&gt;&amp;lt;/wsse:Security&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;So which approach is best? Processing the timestamp in a security header usually involves checking message freshness. In other words, has the message arrived at its destination within a reasonable time period. Let's for the sake of argument assume that the message must be less than 5 minutes old in order for it to pass muster in this regard. &lt;br /&gt; &lt;br /&gt;If the timestamp is at the end of the security header, then it's possible that a whole load of processing relating to token processing, keys, decryption, digest computation and signature verification might occur, only for the receiver to subsequently find out that the message is more than 5 minutes old, hence is stale and has to be thrown away…&lt;br /&gt; &lt;br /&gt;If the timestamp is at the beginning of the security header, the service can check for freshness and immediately stop processing the message if it's found to be stale. Thus avoiding all that expensive cryptographic processing. &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Now, the alert among you will be thinking to yourselves at this point, "didn't the service just make a decision based on unverified data?". That is, the service checked the timestamp for freshness before verifying that the timestamp hadn't been tampered with in transit. And you know what? You're quite right. But you know what else? It doesn't matter!&lt;br /&gt; &lt;br /&gt;There are the following possibilities;&lt;br /&gt;&lt;/div&gt;&lt;ol style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" type="1" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;li&gt;&lt;div&gt;Message appears stale. Timestamp NOT tampered with.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Message appears fresh. Timestamp NOT tampered with.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Message appears stale. Timestamp tampered with.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Message appears fresh. Timestamp tampered with.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In cases 1 and 3 we can safely throw away the message as soon as we see the timestamp indicates the message is stale. Why? Because in case 1 it really is stale, and in case 3, if we don't throw it away due to it being stale, we'll throw it away due to signature verification failure. In case 2 we don't want to throw the message away, everything is fine. And in case 4, we'll throw the message away due to signature verification failure.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Net; it's much more efficient to have the timestamp be the first element in the security header because the service can avoid a whole bunch of processing.&lt;br /&gt; &lt;br /&gt;More to come on security header layout in subsequent entries.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=14752" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>Don on WCF security</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/09/10/14748.aspx" /><id>/community/blogs/mgudgin/archive/2005/09/10/14748.aspx</id><published>2005-09-10T01:58:00Z</published><updated>2005-09-10T01:58:00Z</updated><content type="html">Don &lt;A href="http://pluralsight.com/blogs/dbox/archive/2005/09/09/14615.aspx" xmlns="http://www.w3.org/1999/xhtml"&gt;says&lt;/a&gt; some nice things about the claims based model at the core of WCF security. Doug and I will be doing our best to explain that model at PDC. And I'm sure we'll both be blogging about it in the weeks to come.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=14748" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author><category term="Security" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx" /><category term="Indigo" scheme="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx" /></entry><entry><title>Mark Baker complains about Google</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/09/09/14737.aspx" /><id>/community/blogs/mgudgin/archive/2005/09/09/14737.aspx</id><published>2005-09-08T23:48:00Z</published><updated>2005-09-08T23:48:00Z</updated><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Specifically, about &lt;a href="http://www.markbaker.ca/2002/09/Blog/2005/09/09#2005-09-url-masquerading-grrr"&gt;URL masquerading&lt;/a&gt;. Apparently Yahoo search does it too… &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Dare I suggest Mark use &lt;a href="http://search.msn.com"&gt;http://search.msn.com&lt;/a&gt; ? Not a masqueraded URL in sight…&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Actually, when I use Google, I don't see any URL masquerading, so perhaps it's been turned off already, as Mark requested :-)&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=14737" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry><entry><title>httpcfg flags</title><link rel="alternate" type="text/html" href="/community/blogs/mgudgin/archive/2005/08/31/14448.aspx" /><id>/community/blogs/mgudgin/archive/2005/08/31/14448.aspx</id><published>2005-08-31T14:45:00Z</published><updated>2005-08-31T14:45:00Z</updated><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://ianwhite.is-a-geek.com/"&gt;Ian&lt;/a&gt; makes a reasonable point in his &lt;a href="http://pluralsight.com/blogs/mgudgin/archive/2005/08/30/14417.aspx#14438"&gt;comment&lt;/a&gt; on my &lt;a href="http://pluralsight.com/blogs/mgudgin/archive/2005/08/30/14417.aspx"&gt;previous entry&lt;/a&gt;; the flags to &lt;a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/e17527d2-105a-451f-8e3f-d51547952701.mspx"&gt;httpcfg&lt;/a&gt; are somewhat arcane (which, according to my OED, means 'understood by few, mysterious' ).&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;The flags to &lt;a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/e17527d2-105a-451f-8e3f-d51547952701.mspx"&gt;httpcfg&lt;/a&gt; are actually a bit mask, which according to the information displayed by running &lt;a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/e17527d2-105a-451f-8e3f-d51547952701.mspx"&gt;httpcfg&lt;/a&gt; with no command line arguments, supports the following behaviour;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;0x00000001 - Use DS Mapper.&lt;br /&gt;0x00000002 - Negotiate Client certificate.&lt;br /&gt;0x00000004 - Do not route to Raw ISAPI filters.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;We already know what setting bit 2 does; it enables mutual authentication using a client certificate ( I should probably note at this point that it doesn't &lt;strong&gt;require&lt;/strong&gt; mutual authentication ).&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;Setting bit 3 'prevents SSL requests being passed to low-level &lt;a href="http://msdn.microsoft.com/library/en-us/iissdk/html/22e3fbfb-1c31-41d7-9dc4-efa83f813521.asp"&gt;ISAPI&lt;/a&gt; filters', whatever that means… I know what an &lt;a href="http://msdn.microsoft.com/library/en-us/iissdk/html/22e3fbfb-1c31-41d7-9dc4-efa83f813521.asp"&gt;ISAPI&lt;/a&gt; filter is, but it's not clear from the description of the flag whether it stops SSL requests being routed to &lt;a href="http://msdn.microsoft.com/library/en-us/iissdk/html/22e3fbfb-1c31-41d7-9dc4-efa83f813521.asp"&gt;ISAPI&lt;/a&gt; filters, period. Or whether some &lt;a href="http://msdn.microsoft.com/library/en-us/iissdk/html/22e3fbfb-1c31-41d7-9dc4-efa83f813521.asp"&gt;ISAPI&lt;/a&gt; filters are considered more low-level than others and it only stops such routing for really low-level &lt;a href="http://msdn.microsoft.com/library/en-us/iissdk/html/22e3fbfb-1c31-41d7-9dc4-efa83f813521.asp"&gt;ISAPI&lt;/a&gt; filters.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Setting bit 1 means that presented client certificates are mapped, where possible, to Windows user accounts. The online help implies that this will only take into account mappings between certs and user accounts defined in Active Directory, but I suspect you may be able to get it to work with local user accounts too. This seems to be akin to configuring IIS Directory Security and under the Secure Communications, Edit… dialog, setting the 'Enable client certificate mapping' and defining some mappings from certs to Windows user accounts. In fact, I suspect that when you do this, the IIS Admin tool calls the same API that &lt;a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/e17527d2-105a-451f-8e3f-d51547952701.mspx"&gt;httpcfg&lt;/a&gt; calls, namely &lt;a href="http://msdn.microsoft.com/library/en-us/http/http/httpsetserviceconfiguration.asp"&gt;HttpSetServiceConfiguration&lt;/a&gt;.&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;By the way, I got most of the information about what &lt;a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/e17527d2-105a-451f-8e3f-d51547952701.mspx"&gt;httpcfg&lt;/a&gt; is up to from looking at the help for &lt;a href="http://msdn.microsoft.com/library/en-us/http/http/httpsetserviceconfiguration.asp"&gt;HttpSetServiceConfiguration&lt;/a&gt;, specifically the &lt;a href="http://msdn.microsoft.com/library/en-us/http/http/http_service_config_ssl_param.asp"&gt;HTTP_SET_SERVICE_CONFIG_PARAM&lt;/a&gt; structure.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=14448" width="1" height="1"&gt;</content><author><name>martin-gudgin</name><uri>http://www.pluralsight.com/community/members/martin_2D00_gudgin/default.aspx</uri></author></entry></feed>