<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Garrett Serack: Open Source Development at Microsoft : Cardspace ASP.NET 1.1</title><link>http://blogs.msdn.com/garretts/archive/tags/Cardspace+ASP.NET+1.1/default.aspx</link><description>Tags: Cardspace ASP.NET 1.1</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>ASP.NET 1.1 Token Decryption</title><link>http://blogs.msdn.com/garretts/archive/2006/11/29/asp-net-1-1-token-decryption.aspx</link><pubDate>Thu, 30 Nov 2006 08:20:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1175972</guid><dc:creator>GarrettS</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/garretts/comments/1175972.aspx</comments><wfw:commentRss>http://blogs.msdn.com/garretts/commentrss.aspx?PostID=1175972</wfw:commentRss><description>&lt;p&gt;A funny thing happened a while back...&lt;/p&gt; &lt;p&gt;I had a&amp;nbsp;&lt;em&gt;request&lt;/em&gt; from &lt;a title="The Man" href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt;&amp;nbsp;to decrypt and consume&amp;nbsp;a security token created by Windows CardSpace, but do it on ASP.NET 1.1.&lt;/p&gt; &lt;p&gt;Well, having written the code to do that on .NET 3.0, I figured, heck, how hard could that be... sure, the certificate and decrpytion might be a handful, but doable... the SAML stuff is just XML, right? How hard... 40minutes, right? Maybe a couple of hours. Certainly no more than a day or two. Maybe three. Wait, I need the weekend.&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Well, needless to say, that was all six weeks ago. I wrote the decryption stuff, three times. I finally broke down and asked Lucas to&amp;nbsp;help me. He looked at my code, said it looked good, but &amp;nbsp;he'd look at that. He worked and worked and finally got me some code that I could use. &lt;/p&gt; &lt;p&gt;Next up of course, was the SAML deserialization. First I tried some SAML stuff I found on the net, but it didn't go anywhere. I went back to some of the good 'ole indigo folks and found Brent Schmaltz, who said hey, no problem, just a few minutes... (he apparently went to the same school as I did to learn how to forecast time). Well, a few days later, I get some code from him, and it works great! ... on .NET 2.0 !&lt;/p&gt; &lt;p&gt;After a few more emails,&amp;nbsp;Brent drops the code to me to get it all workin' on .NET 1.1. So, I toss that into my Server 2k3 VPC, and boom. No-workey.&lt;/p&gt; &lt;p&gt;Joy.&lt;/p&gt; &lt;p&gt;A week-or-two back and forth, and Brent fixes up the problems with the SAML code and Server 2k3+SP1, and voila! &amp;nbsp;We have some code!&lt;/p&gt; &lt;hr&gt;  &lt;p&gt;I am pleased to announce a functional .NET v 1.1 Token processor, that will correctly process SAML tokens generated by Windows CardSpace.  &lt;p&gt;I’d like to thank &lt;b&gt;Lucas Melton&lt;/b&gt; and &lt;b&gt;Brent Schmaltz&lt;/b&gt; for their very significant contributions effort and code to get this code out. This seemingly trivial task turned out to be quite the devil in disguise.  &lt;p&gt;I have attempted to keep the interface of this Token processor as similar to the .NET 3.0 version as possible, but it is not perfectly compatible, there are minor differences.&amp;nbsp; This library depends on WSE 2.0,.NET 1.1 and Windows XP or Windows Server 2003.  &lt;p&gt;The TokenTest needs my certificates from the CardSpace samples installed using the script (to decrypt the test token).  &lt;p&gt;&lt;strong&gt;This sample is not yet documented,&amp;nbsp;and/or may be missing some features.&lt;/strong&gt; I thought you'd all like it sooner&amp;nbsp;rather than later tho'&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So, if you are using ASP.NET 1.1, try out the&amp;nbsp;preview sample:&amp;nbsp;&lt;a href="http://cardspace.netfx3.com/files/folders/inprogress/entry7512.aspx"&gt;Asp.net 1.1 Token decryption&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="padding-right: 0pt; padding-left: 0pt; padding-bottom: 0in; padding-top: 0in" valign="center" width="55"&gt; &lt;p style="text-align: center" align="center" valign="middle"&gt;&lt;span style="font-size: 60pt; font-family: elephant"&gt;g&lt;/span&gt;&lt;/p&gt; &lt;p style="text-align: center" align="center" valign="middle"&gt;&lt;span style="font-size: 60pt; font-family: elephant"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt; &lt;td style="padding-right: 0pt; padding-left: 0pt; padding-bottom: 0in; padding-top: 0in" valign="center"&gt; &lt;p style="font-size: 8pt; color: #999999; font-family: arial"&gt;&lt;br&gt;Garrett Serack&amp;nbsp;|&amp;nbsp;Program Manager&amp;nbsp;|Federated Identity Team | Microsoft Corporation&lt;br&gt;blog:&lt;a href="http://blogs.msdn.com/garretts"&gt;http://blogs.msdn.com/garretts&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1175972" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/garretts/archive/tags/Cardspace+ASP.NET+1.1/default.aspx">Cardspace ASP.NET 1.1</category></item></channel></rss>