<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Musings from Gudge</title><link>http://www.pluralsight.com/community/blogs/mgudgin/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>Windows Workflow/Rules Designer Re-hosting</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2008/03/13/50467.aspx</link><pubDate>Thu, 13 Mar 2008 14:05:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:50467</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=50467</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2008/03/13/50467.aspx#comments</comments><description>&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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Work/default.aspx">Work</category></item><item><title>Update</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2007/11/20/49245.aspx</link><pubDate>Tue, 20 Nov 2007 08:10:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:49245</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=49245</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2007/11/20/49245.aspx#comments</comments><description>&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;</description></item><item><title>Indigo STS Implementation</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/06/19/28503.aspx</link><pubDate>Mon, 19 Jun 2006 13:20:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:28503</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=28503</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/06/19/28503.aspx#comments</comments><description>&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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Protocols/default.aspx">Protocols</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>Crypto Rap!!!</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/05/24/24963.aspx</link><pubDate>Tue, 23 May 2006 17:46:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:24963</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=24963</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/05/24/24963.aspx#comments</comments><description>&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;</description></item><item><title>httpcfg Flag Weirdness</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/05/16/24111.aspx</link><pubDate>Tue, 16 May 2006 04:18:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:24111</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=24111</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/05/16/24111.aspx#comments</comments><description>&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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>More on Service Factory</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/04/19/22009.aspx</link><pubDate>Tue, 18 Apr 2006 16:45:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:22009</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=22009</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/04/19/22009.aspx#comments</comments><description>&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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>Service Factory Open For Business</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/04/19/22008.aspx</link><pubDate>Tue, 18 Apr 2006 16:30:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:22008</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=22008</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2006/04/19/22008.aspx#comments</comments><description>&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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>WSE 3.0 Ships</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/11/08/16401.aspx</link><pubDate>Tue, 08 Nov 2005 13:26:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:16401</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=16401</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/11/08/16401.aspx#comments</comments><description>&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;</description></item><item><title>Will the real Steve Swartz please stand up…</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/10/20/15761.aspx</link><pubDate>Thu, 20 Oct 2005 08:13:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:15761</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=15761</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/10/20/15761.aspx#comments</comments><description>&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;</description></item><item><title>Doug Walter is in the house!</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/29/15090.aspx</link><pubDate>Wed, 28 Sep 2005 23:42:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:15090</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=15090</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/29/15090.aspx#comments</comments><description>&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;</description></item><item><title>wsu:Timestamp, first or last?</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/10/14752.aspx</link><pubDate>Sat, 10 Sep 2005 02:33:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14752</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=14752</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/10/14752.aspx#comments</comments><description>&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;</description></item><item><title>Don on WCF security</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/10/14748.aspx</link><pubDate>Sat, 10 Sep 2005 01:58:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14748</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=14748</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/10/14748.aspx#comments</comments><description>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;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>Mark Baker complains about Google</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/09/14737.aspx</link><pubDate>Thu, 08 Sep 2005 23:48:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14737</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=14737</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/09/09/14737.aspx#comments</comments><description>&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;</description></item><item><title>httpcfg flags</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/08/31/14448.aspx</link><pubDate>Wed, 31 Aug 2005 14:45:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14448</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=14448</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/08/31/14448.aspx#comments</comments><description>&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;</description></item><item><title>SSL mutual authentication and more httpcfg magic</title><link>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/08/30/14417.aspx</link><pubDate>Mon, 29 Aug 2005 22:16:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14417</guid><dc:creator>martin-gudgin</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/mgudgin/rsscomments.aspx?PostID=14417</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/mgudgin/archive/2005/08/30/14417.aspx#comments</comments><description>&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;I've been trying to get mutual authentication, where the client and service both have certificates,&amp;nbsp;to work over SSL (specifically HTTPS) for a simple demo I'm doing at &lt;A href="http://msdn.microsoft.com/events/pdc/"&gt;PDC&lt;/A&gt;. In an &lt;A href="http://pluralsight.com/blogs/mgudgin/archive/2005/06/01/9694.aspx"&gt;earlier entry&lt;/A&gt;, I mentioned httpcfg, the tool you use to configure the server side certificate (amongst other things). Unfortunately, while&amp;nbsp;the command line I provided in that entry works just fine for server-only authentication, it doesn't work for mutual authentication. If you try mutual authentication, the client will probably get the helpful '403, Forbidden' error from the HTTP layer. In order for mutual authentication to work the flags parameter to httpcfg needs to be set to '2'. So the full command line needs to be something like;&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;&lt;FONT face="Lucida Console"&gt;&amp;nbsp;&amp;nbsp; httpcfg&amp;nbsp;set ssl -I 0:0:0:0:8088 -h abcdefabcdefabcdef -f 2&lt;/FONT&gt;&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;Hopefully this will save someone some time if they're having trouble getting mutual authentication over HTTPS to work.&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 Hao Xu from the Indigo core messaging team for helping me track this down.&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;&amp;nbsp;&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=14417" width="1" height="1"&gt;</description><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pluralsight.com/community/blogs/mgudgin/archive/tags/Indigo/default.aspx">Indigo</category></item></channel></rss>