<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9265269</id><updated>2011-11-27T17:01:40.828-08:00</updated><category term='firefox'/><category term='cardspace'/><category term='openid'/><category term='selector'/><category term='snowboarding baldface'/><category term='iddy'/><category term='infocard'/><category term='didw'/><category term='reardencommerce'/><title type='text'>xmldap</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9265269.post-3764316869408270811</id><published>2008-02-15T22:47:00.001-08:00</published><updated>2008-02-15T22:47:45.326-08:00</updated><title type='text'>Snowboarding at Baldface 2008</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5XKsJ3JgqEs&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/5XKsJ3JgqEs&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-3764316869408270811?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/3764316869408270811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=3764316869408270811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/3764316869408270811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/3764316869408270811'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2008/02/snowboarding-at-baldface-2008.html' title='Snowboarding at Baldface 2008'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-8984000003547370857</id><published>2008-01-16T13:30:00.000-08:00</published><updated>2008-01-16T13:35:46.209-08:00</updated><title type='text'>Meet Dottie</title><content type='html'>Dorothy Mae Murphy Mortimore was born on Jan 14th at 6:06. At 9 lb. 1 oz. and 21", she gave us a little fright, when she refused to be pushed out. After a grueling 24 hours of labor, Dottie joined us via c-section. Mom and baby are happy and healthy.&lt;br /&gt;&lt;br /&gt;Check out pictures and news at &lt;a href="http://babymortimore.com"&gt;http://babymortimore.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-8984000003547370857?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/8984000003547370857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=8984000003547370857' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/8984000003547370857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/8984000003547370857'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2008/01/meet-dottie.html' title='Meet Dottie'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-3771540831109682000</id><published>2007-09-29T18:43:00.000-07:00</published><updated>2007-09-29T18:46:08.933-07:00</updated><title type='text'>Baby Pictures</title><content type='html'>Mara and I had a 3D ultrasound for our 5th Anniversary.   The technology is pretty insane.  &lt;br /&gt;&lt;br /&gt;&lt;a target="slideshow" href="http://flickr.com/photos/cmort/sets/72157602200561390/show/"&gt;&lt;img src="http://farm2.static.flickr.com/1171/1459041057_acf50fcb1a.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;center&gt;&lt;h3&gt;&lt;a target="slideshow" href="http://flickr.com/photos/cmort/sets/72157602200561390/show/"&gt;Click here for the full slide show!&lt;/a&gt;&lt;/h3&gt;&lt;/center&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-3771540831109682000?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/3771540831109682000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=3771540831109682000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/3771540831109682000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/3771540831109682000'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2007/09/baby-pictures.html' title='Baby Pictures'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm2.static.flickr.com/1171/1459041057_acf50fcb1a_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-7655278048843165675</id><published>2007-09-25T09:58:00.001-07:00</published><updated>2007-09-25T10:15:30.970-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='didw'/><category scheme='http://www.blogger.com/atom/ns#' term='reardencommerce'/><category scheme='http://www.blogger.com/atom/ns#' term='iddy'/><title type='text'>Identity Deployment of the Year</title><content type='html'>&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.reardencommerce.com"&gt;Rearden Commerce&lt;/a&gt; just won the &lt;a href="http://www.projectliberty.org/liberty/news_events/press_releases/liberty_alliance_announces_winners_of_the_2007_iddy_award"&gt;Liberty Alliance's Identity Deployment of the Year!&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm2.static.flickr.com/1166/1438098141_8680fc97dd.jpg?v=0"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://farm2.static.flickr.com/1166/1438098141_8680fc97dd.jpg?v=0" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I just accepted the award at &lt;a href="http://conference.digitalidworld.com/2007/"&gt;Digital Identity World 2007&lt;/a&gt;, and will be speaking there on a panel at 11:30.&lt;br /&gt;&lt;br /&gt;Speaking of panels, Rearden has been invited to speak at a couple panels on online platforms recently (office 2.0 and webguild).   Joining the likes of Google, Yahoo, Salesforce, and WebEx, I sat on 2 panels and debated the composition of these emerging development environments.   You can &lt;a href="http://webguild.org/biography/future-of-online-platforms.php"&gt;check out the webguild video here&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.reardencommerce.com/careers/"&gt;&lt;br /&gt;If you're interested in online platforms, than come help us build ours!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-7655278048843165675?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/7655278048843165675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=7655278048843165675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7655278048843165675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7655278048843165675'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2007/09/identity-deployment-of-year.html' title='Identity Deployment of the Year'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-4573962044321666531</id><published>2007-03-05T09:33:00.000-08:00</published><updated>2007-09-25T10:15:30.971-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reardencommerce'/><title type='text'>$5000.00 cash</title><content type='html'>The startup I work at, &lt;a href="http://www.reardencommerce.com/"&gt;Rearden Commerce&lt;/a&gt;, is in the midst of a major growth spurt.   We've recently become the technology platform for &lt;a href="http://www.reardencommerce.com/news/amexnews.php"&gt;American Express Business Travel&lt;/a&gt;, and were selected as one of &lt;a href="http://money.cnn.com/galleries/2007/biz2/0702/gallery.nextnet.biz2/24.html"&gt;Business 2.0's Next Net 25.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With that in mind, &lt;a href="http://www.reardencommerce.com/company/careers/openings.php"&gt;we're hiring like crazy&lt;/a&gt;.   I'm looking for Product Managers to work on our Developer Network, our Administrative Consoles, and our Platform Services.   We also need top engineering and engineer management talent.&lt;br /&gt;&lt;br /&gt;So drop me a line and come join Rearden Commerce...or send us your friends.   To help sweeten the deal, we're currently paying a $&lt;span style="font-weight:bold;"&gt;5000.00 referral bonus&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;anyone&lt;/span&gt; that refers Engineering Directors &amp; Managers, Sr Engineers, Product Managers, or a Director of Merchant Network (BizDev).   All other positions pay $1000.00 cash.   &lt;br /&gt;&lt;br /&gt;Send me those resumes!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-4573962044321666531?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/4573962044321666531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=4573962044321666531' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/4573962044321666531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/4573962044321666531'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2007/03/500000-cash.html' title='$5000.00 cash'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-7555352855701606914</id><published>2007-03-05T09:27:00.000-08:00</published><updated>2007-03-05T09:30:17.246-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snowboarding baldface'/><title type='text'>Snowboarding at Baldface</title><content type='html'>Finally have the video from our annual trip to &lt;a href="http://www.baldface.net/"&gt;Baldface Lodge&lt;/a&gt; online:&lt;br /&gt;&lt;br /&gt;       &lt;a href="http://xmldap.org/BaldFace.mov"&gt;http://xmldap.org/BaldFace.mov&lt;/a&gt; ~99MB&lt;br /&gt;&lt;br /&gt;       &lt;a href="http://xmldap.org/BaldFace-medium.mov"&gt;http://xmldap.org/BaldFace-medium.mov&lt;/a&gt; ~37MB&lt;br /&gt;&lt;br /&gt;       &lt;a href="http://xmldap.org/BaldFace-small.mov"&gt;http://xmldap.org/BaldFace-small.mov&lt;/a&gt; ~13MB&lt;br /&gt;&lt;br /&gt;We're already signed up for next year - drop me a line if you're interested!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-7555352855701606914?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/7555352855701606914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=7555352855701606914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7555352855701606914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7555352855701606914'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2007/03/snowboarding-at-baldface.html' title='Snowboarding at Baldface'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-6791623770070566095</id><published>2007-02-09T16:33:00.000-08:00</published><updated>2007-01-27T11:39:29.763-08:00</updated><title type='text'>Need a new Identity?</title><content type='html'>My wife Mara would be happy to help you out.   She just started a new letterpress and design business called Dutch Door Press.   &lt;br /&gt;&lt;br /&gt;If you need business cards, invites, cards, stationary or anything you can think of, they can help design and print it.&lt;br /&gt;&lt;br /&gt;Check them out on the web: &lt;a href="http://www.dutchdoorpress.com"&gt;http://www.dutchdoorpress.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-6791623770070566095?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/6791623770070566095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=6791623770070566095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/6791623770070566095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/6791623770070566095'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2007/02/need-new-identity.html' title='Need a new Identity?'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-5118739334904177538</id><published>2006-12-17T20:30:00.000-08:00</published><updated>2006-12-18T12:28:29.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>xmldap as a plugin to perpetual motion</title><content type='html'>Kevin Miller's new &lt;a href="http://perpetual-motion.com/"&gt;Firefox plugin&lt;/a&gt; wraps the native Windows CardSpace identity selector, and in the process provides a great card parsing implementation.   Since Kevin was kind enough to implement a plugin framework, I figured I'd take advantage and added plugin support to the xmldap selector.&lt;br /&gt;&lt;br /&gt;If you pick up the &lt;a href="http://xmldap.org/xmldap.xpi"&gt;latest version of the plugin&lt;/a&gt; (requires Java 1.5 on your system) you will now find a new Identity Selector option in your preferences.    If you have both Kevin and my extension installed, and you're on Windows, you can now flip back and forth between the CardSpace selector, and the xmldap selector at will.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://xmldap.org/img/plugin.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://xmldap.org/img/plugin_small.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The great news is that people implementing selectors will no longer need to worry about augmenting the browser.   Now hopefully we can all quickly agree on a preferences structure to allow any implementation to easily add itself to the list.&lt;br /&gt;&lt;br /&gt;If you're interested in writing you're own plugin, it's pretty simple...here's the basics of an XPCOM component that implements the plugin interface:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://openinfocard.googlecode.com/svn/trunk/firefox/components/Identityselector.js"&gt;http://openinfocard.googlecode.com/svn/trunk/firefox/components/Identityselector.js&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-5118739334904177538?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/5118739334904177538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=5118739334904177538' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/5118739334904177538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/5118739334904177538'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/12/xmldap-as-plugin-to-perpetual-motion.html' title='xmldap as a plugin to perpetual motion'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-7570972170190928329</id><published>2006-12-12T15:02:00.000-08:00</published><updated>2006-12-12T15:11:51.267-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Another Firefox Cardspace Extension</title><content type='html'>Check out this cool extension for Firefox by &lt;a href="http://www.perpetual-motion.com/kevin/2006/12/i-with-help-from-cowboy-have-been.html"&gt;Kevin Miller&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perpetual-motion.com/"&gt;http://www.perpetual-motion.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It basically wraps the native CardSpace implementation on Windows so you can use it from Firefox.    Very robust looking parsing card detection, and the ability to implement an XPCOM interface to plugin other selectors:&lt;br /&gt;&lt;br /&gt;IIdentitySelector..GetBrowserToken(issuer , recipientURL, requiredClaims ,data.optionalClaims , tokenType, privacyPolicy, privacyPolicyVersion , serverCert );&lt;br /&gt;&lt;br /&gt;The selector implementation can be determined by the user's preferences, so it should be very simple to adapt the xmldap selector or other cross platform implementations to this model and let user's choose their selector.  &lt;br /&gt;&lt;br /&gt;Nice work Kevin!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-7570972170190928329?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/7570972170190928329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=7570972170190928329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7570972170190928329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/7570972170190928329'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/12/another-firefox-cardspace-extension.html' title='Another Firefox Cardspace Extension'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-1500277773648872273</id><published>2006-12-06T23:00:00.000-08:00</published><updated>2006-12-06T23:05:14.901-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openid'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Combining CardSpace and OpenID</title><content type='html'>At IIW I demo'd a little proof-of-concept showing the ability to login to a CardSpace relying-party, using an OpenID based identity.   For those who didn't get a chance to see it, I provided a little screen cast here:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.comcast.net/%7Ecmort/OpenIDtoCardSpace.mov"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://home.comcast.net/%7Ecmort/OpenIDtoCardSpace.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-1500277773648872273?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/1500277773648872273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=1500277773648872273' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/1500277773648872273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/1500277773648872273'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/12/combining-cardspace-and-openid.html' title='Combining CardSpace and OpenID'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-162016657512846460</id><published>2006-12-06T20:36:00.000-08:00</published><updated>2006-12-06T22:52:57.138-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>How-To Decrypt a CardSpace backup file</title><content type='html'>Having &lt;a href="http://xmldap.blogspot.com/2006/11/cardspace-backup-viewer.html"&gt;posted a utility that decrypts CardSpace backup files&lt;/a&gt;, I thought I'd take a moment to explain how it works.   The backup file format is rather obscure, so hopefully this should help serve as a guide to people looking to import and export cards with non-Windows selectors.&lt;br /&gt;&lt;br /&gt;The first thing to do is take a look at the CardSpace backup file format (edited for brevity):&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;EncryptedStore xmlns="http://schemas.xmlsoap.org/ws/2005/05/identity"&amp;gt;&lt;br /&gt;&amp;lt;StoreSalt&amp;gt;3BprRlJ6LpWvvLvuGS6hXQ==&amp;lt;/StoreSalt&amp;gt;&lt;br /&gt;&amp;lt;EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#"&amp;gt;&lt;br /&gt;&amp;lt;CipherData&amp;gt;&lt;br /&gt; &amp;lt;CipherValue&amp;gt;...Base64 Encoded Ciphertext...&amp;lt;/CipherValue&amp;gt;&lt;br /&gt;&amp;lt;/CipherData&amp;gt;&lt;br /&gt;&amp;lt;/EncryptedData&amp;gt;&lt;br /&gt;&amp;lt;/EncryptedStore&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here we have the file format.    There are really just two things we care about...the Salt, and the CipherValue.     The first thing to do is extract these 2 values. &lt;br /&gt;&lt;br /&gt;At this point, it's probably good to get an overview of what you'll be doing.   The ciphertext is actually a 16 byte Initialization Vector, 32 bytes of signature data for validating integrity, and then a CardSpace RoamingStore xml document encrypted using a PBE.   Specifically, it's a PKCS5v1 derived key and AES with CBC.&lt;br /&gt;&lt;br /&gt;As you get started, one thing to be aware of is the byte order mark.   Regardless of what it claims, this xml in this file is actually encoded using UTF-16LE.   So...it's prefixed with 3 bytes of data.   Here's what you should expect for the byte order mark:&lt;br /&gt;&lt;br /&gt;byte[] bom = {(byte)0xEF, (byte)0xBB, (byte)0xBF};&lt;br /&gt;&lt;br /&gt;You'll also want to know about a couple pieces of static entropy used in the algorithm:&lt;br /&gt;&lt;br /&gt;byte[] encKeyEntropy =  { (byte)0xd9, (byte)0x59, (byte)0x7b, (byte)0x26, (byte)0x1e, (byte)0xd8, (byte)0xb3, (byte)0x44, (byte)0x93, (byte)0x23, (byte)0xb3, (byte)0x96, (byte)0x85, (byte)0xde, (byte)0x95, (byte)0xfc };&lt;br /&gt;&lt;br /&gt;byte[] integrityKeyEntropy = {(byte)0xc4, (byte)0x01, (byte)0x7b, (byte)0xf1, (byte)0x6b, (byte)0xad, (byte)0x2f, (byte)0x42, (byte)0xaf, (byte)0xf4, (byte)0x97, (byte)0x7d, (byte)0x4, (byte)0x68, (byte)0x3, (byte)0xdb};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So - back to business.   Once you've extracted the salt and the ciphertext, you can begin to decrypt the backup file.   Here are the steps you'll want to take:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Remove the Byte Order Mark, and parse the XML file, extracting the Salt, and the CipherText&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Base64 decode the salt, and set it aside&lt;/li&gt;&lt;li&gt;Base64 decode the ciphertext&lt;/li&gt;&lt;li&gt;Copy the first 16 bytes of the ciphertext, and set it aside as your IV&lt;/li&gt;&lt;li&gt;Copy the next 32 bytes of the ciphertext, and set it aside as your integrity check&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Concatenate the remaining bytes together with the IV. (   IV + remaining bytes )  Set this aside as your data&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Derive your keys using PKCS5v1.   Take the bytes of the user's password used to encrypt the data, and concatenate it with the salt bytes.   Take a SHA256 hash of those bytes, and then SHA256 hash the output another 999 times.&lt;/li&gt;&lt;li&gt;Generate the encryption key by concatenating the static encryption entropy together with the derived key.    Generate a SHA256 byte hash of these bytes, and that is your encryption key&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Generate the integrity key by concatenating the static entrgrity entropy together with the derived key.    Generate a SHA256 byte hash of these bytes, and that is your integrity key&lt;/li&gt;&lt;li&gt;Decrypt the data using AES/CBC/OAEP with the encryption key you generated&lt;/li&gt;&lt;li&gt;Remove the byte order mark, and you have the decrypted RoamingStore.   &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;So - that's the basics of decryption.   If you'd like to encrypt a store, you simply perform that process in reverse. &lt;br /&gt;&lt;br /&gt;Next, you'll want to validate the integrity of the data.  Here's how:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Concatenate the IV, the integrity check data ( bytes 12-48 that you set aside earlier), and the last block of data (the last 16 bytes)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sha 256 hash this, and you have the computed integrity check.    Compare your computed value to the integrity check...if they match byte for byte, you're in luck.&lt;/li&gt;&lt;/ol&gt;That's it.   Be wary of character encoding, but if you follow these steps, you should be able to encrypt/decrypt backup files&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-162016657512846460?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/162016657512846460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=162016657512846460' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/162016657512846460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/162016657512846460'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/12/how-to-decrypt-cardspace-backup-file.html' title='How-To Decrypt a CardSpace backup file'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-6968910858174819652</id><published>2006-11-24T15:33:00.000-08:00</published><updated>2006-11-24T15:38:10.887-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>CardSpace Backup viewer</title><content type='html'>Ever wonder what's inside a CardSpace backup file?    Now that the xmldap.org codebase can decrypt the backup files, I thought I'd add a quick tool that allows you to peek inside.   Here's a little web app which will decrypt your backup file and return the xml inside:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xmldap.org/sts/decrypt"&gt;http://xmldap.org/sts/decrypt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here's a screencast of how it works:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.comcast.net/%7Ecmort/decrypt.mov"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://home.comcast.net/%7Ecmort/decrypt.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-6968910858174819652?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/6968910858174819652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=6968910858174819652' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/6968910858174819652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/6968910858174819652'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/11/cardspace-backup-viewer.html' title='CardSpace Backup viewer'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-116413189049313038</id><published>2006-11-21T09:55:00.000-08:00</published><updated>2006-11-24T09:22:31.803-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Minor Bug Fixes</title><content type='html'>I updated the Firefox Selector to fix a few minor bugs introduced in the Managed Cards support update.&lt;br /&gt;&lt;br /&gt;Thanks to Axel and to Antoine Galland from Gemalto for trying it out and reporting the bugs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xmldap.org"&gt;http://xmldap.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-116413189049313038?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/116413189049313038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=116413189049313038' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116413189049313038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116413189049313038'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/11/minor-bug-fixes.html' title='Minor Bug Fixes'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-116400953243971871</id><published>2006-11-19T23:44:00.000-08:00</published><updated>2006-11-20T00:08:08.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Managed Card Support for Firefox</title><content type='html'>One more important update for the Firefox selector - With this new release, I've added a simple proof-of-concept around Managed Cards.&lt;br /&gt;&lt;br /&gt;The Firefox selector now supports importing managed cards, and retrieving tokens from an STS.   It only has support for Username/Password authentication over the simple TransportBinding (this means transport security rather than message level security)   Also, I've only tested against the xmldap.org STS...it may work against other implementations, but I haven't yet focused on interop.&lt;br /&gt;&lt;br /&gt;That being said, this now demonstrates a complete end-to-end exchange without any Microsoft components.   An opensource STS issuing a token to an opensource Relying Party, via an opensource selector...all on a Mac.&lt;br /&gt;&lt;br /&gt;Here's a screencast of how it works:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.comcast.net/%7Ecmort/ManagedCards.mov"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://home.comcast.net/%7Ecmort/ManagedCard.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As always, the selector and source are available at &lt;a href="http://xmldap.org"&gt;http://xmldap.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-116400953243971871?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/116400953243971871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=116400953243971871' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116400953243971871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116400953243971871'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/11/managed-card-support-for-firefox.html' title='Managed Card Support for Firefox'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-116391186524360038</id><published>2006-11-18T20:42:00.000-08:00</published><updated>2006-11-18T20:58:47.266-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Firefox Plugin Updated</title><content type='html'>Thanks to the hard work of Axel Nennker and his friends, I've posted an update to the Firefox Selector.    The selector now has these great features:&lt;br /&gt;&lt;br /&gt;1) Support for Firefox 2.0 - the plugin should now work on 1.5+ and 2.0&lt;br /&gt;&lt;br /&gt;2) Internationalization Support - Axel added i18n, and has localized to:&lt;ul&gt;&lt;li&gt;English&lt;/li&gt;&lt;li&gt;German&lt;/li&gt;&lt;li&gt;French&lt;/li&gt;&lt;li&gt;Norwegian&lt;/li&gt;&lt;li&gt;Swedish&lt;/li&gt;&lt;li&gt;Turkish&lt;/li&gt;&lt;li&gt;Czech&lt;/li&gt;&lt;li&gt;Arabic&lt;/li&gt;&lt;li&gt;and Chinese&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://xmldap.org/img/chinese.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://xmldap.org/img/chinese.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3)  There's also initial support for  Logotype certificates, so that a website's icon embedded in a certificate can be displayed to the user as part of the verification process&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://xmldap.org/img/logotype.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://xmldap.org/img/logotype.jpeg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can download the latest plugin at &lt;a href="http://xmldap.org/"&gt;http://xmldap.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks Axel!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-116391186524360038?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/116391186524360038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=116391186524360038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116391186524360038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116391186524360038'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/11/firefox-plugin-updated.html' title='Firefox Plugin Updated'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-116280595682774493</id><published>2006-11-06T01:31:00.000-08:00</published><updated>2006-11-06T01:39:16.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>STS is finally working</title><content type='html'>I finally checked in a working copy of the xmldap Security Token Service.   It's a simple STS, which only supports the Transport Binding of CardSpace, but it's enough to see managed cards in action.  &lt;br /&gt;&lt;br /&gt;If you'd like to try it out, go to &lt;a href="https://xmldap.org/relyingparty/"&gt;https://xmldap.org/relyingparty/&lt;/a&gt;    There you'll find a link to where you can create managed cards.   You'll then be able to install them into CardSpace and use them to login to the Relying Party.    Below is a screencast which demos the basic steps you should follow:  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://xmldap.org/STS.mov"&gt;&lt;img src="http://xmldap.org/sts.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xmldap.org/STS.mov"&gt;Here's a screencast demoing what you should see.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As always, it's open source.   The code is pretty messy at the moment, but if you're curious you can take a look at &lt;a href="http://xmldap.org"&gt;http://xmldap.org&lt;/a&gt;.  Special thanks to the other contributors, and the folks at &lt;a href="http://www.arcot.com/"&gt;Arcot&lt;/a&gt; who figured out one of the missing pieces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-116280595682774493?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/116280595682774493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=116280595682774493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116280595682774493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/116280595682774493'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/11/sts-is-finally-working.html' title='STS is finally working'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115869656707771637</id><published>2006-09-19T13:08:00.000-07:00</published><updated>2006-09-19T14:12:06.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>back online</title><content type='html'>Thanks to Ian, Ebe, and a new router, xmldap.org is back online.    &lt;br /&gt;&lt;br /&gt;Kim - you owe us $65.00   :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115869656707771637?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115869656707771637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115869656707771637' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115869656707771637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115869656707771637'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/back-online.html' title='back online'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115869150709943023</id><published>2006-09-19T11:42:00.000-07:00</published><updated>2006-09-19T11:54:33.526-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>identityblog effect</title><content type='html'>Looks like Kim's two &lt;a href="http://www.identityblog.com/?p=586"&gt;new&lt;/a&gt; &lt;a href="http://www.identityblog.com/?p=585"&gt;posts&lt;/a&gt;  have melted my server.    He's the slashdot of the Identity world.&lt;br /&gt;&lt;br /&gt;Sorry - the crack sys-admin team has been deployed.   Hopefully we're back up soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115869150709943023?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115869150709943023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115869150709943023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115869150709943023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115869150709943023'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/identityblog-effect.html' title='identityblog effect'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115853534710844541</id><published>2006-09-17T16:20:00.000-07:00</published><updated>2006-09-17T16:23:18.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>The Missing Infocard Schema</title><content type='html'>The Infocard Schema has been notoriously missing since Microsoft published RC1. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://xmldap.org/Infocard.xsd"&gt;Here's the schema for the http://schemas.xmlsoap.org/ws/2005/05/identity namespace&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115853534710844541?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115853534710844541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115853534710844541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115853534710844541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115853534710844541'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/missing-infocard-schema.html' title='The Missing Infocard Schema'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115853495480271517</id><published>2006-09-17T16:10:00.000-07:00</published><updated>2006-11-17T14:01:01.003-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Playing with Managed Cards</title><content type='html'>I've just checked in code that can create Managed Cards that import into CardSpace RC1.&lt;br /&gt;&lt;br /&gt;To allow people to play around, I've also added a quick little web app, which creates cards for you. You can try this out at:&lt;br /&gt;&lt;br /&gt; &lt;a href="https://xmldap.org/sts/cardmanager"&gt;https://xmldap.org/sts/cardmanager&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://xmldap.org/ManagedCards.mov"&gt;&lt;img src="http://xmldap.org/img/managedCard.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xmldap.org/ManagedCards.mov"&gt;Here's a screencast of what you can expect.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to try it out, you can either download the source from &lt;a href="http://xmldap.org"&gt;http://xmldap.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115853495480271517?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115853495480271517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115853495480271517' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115853495480271517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115853495480271517'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/playing-with-managed-cards.html' title='Playing with Managed Cards'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115851987129025661</id><published>2006-09-17T12:03:00.000-07:00</published><updated>2006-09-17T12:05:01.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Relying Party updated to support RC1</title><content type='html'>I finally got around to updating the Relying Party to support Cardspace RC1.   &lt;br /&gt;&lt;br /&gt;Enjoy:   &lt;a href="https://xmldap.org/relyingparty"&gt;https://xmldap.org/relyingparty&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115851987129025661?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115851987129025661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115851987129025661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115851987129025661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115851987129025661'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/relying-party-updated-to-support-rc1.html' title='Relying Party updated to support RC1'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115847420196291578</id><published>2006-09-16T23:17:00.000-07:00</published><updated>2006-10-30T20:14:26.833-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Instructions for the CardSpace FirefFox Extention</title><content type='html'>It &lt;a href="http://www.craigburton.com/2006/09/16#a11541"&gt;sounds like Craig Burton has been having trouble&lt;/a&gt; with the demo Cardspace Selector I put together for Firefox.  I'm not sure what trouble he's been having, but I thought I'd toss up some quick instructions, and a screen cast.&lt;br /&gt;&lt;br /&gt;Step 1) Make sure you're on Firefox 1.5 or greater.&lt;br /&gt;&lt;br /&gt;Step 2) Make sure you've got J2SE 1.4x installed on your machine.   The xmldap selector doesn't use any .net or Microsoft code...its a cross platform implementation written from scratch in Java.   You can hit &lt;a href="http://java.sun.com"&gt;http://java.sun.com&lt;/a&gt; if you need to download a JDK&lt;br /&gt;&lt;br /&gt;Step 3) Go to &lt;a href="http://xmldap.org"&gt;http://xmldap.org&lt;/a&gt; and download the Firefox extension.   You may need to allow the popup blocker to trust my site.   Restart firefox.&lt;br /&gt;&lt;br /&gt;Step 4) Go to a Cardspace enabled site like &lt;a href="https://xmldap.org/relyingparty"&gt;xmldap&lt;/a&gt;, &lt;a href="https://www.identityblog.com/wp-login.php"&gt;identityblog&lt;/a&gt;, or &lt;a href="https://infocard.pingidentity.com/sp/login.jsp"&gt;ping&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 5) Click to login, create a card, and submit.&lt;br /&gt;&lt;br /&gt;Note that you'll still get a warning saying:  "Additional plugins are required to display all the media on this page"   Ignore it...I haven't figured out how to make it go away yet.   Please email me or comment if you know!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://xmldap.org/xmldap.mov"&gt;&lt;img src="http://xmldap.org/img/firefox.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xmldap.org/xmldap.mov"&gt;Here's a screencast demoing what you should see.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Craig and others - email me at cmort at xmldap.org if you have questions or issues!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115847420196291578?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115847420196291578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115847420196291578' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115847420196291578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115847420196291578'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/instructions-for-cardspace-fireffox.html' title='Instructions for the CardSpace FirefFox Extention'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115810778116103566</id><published>2006-09-12T17:32:00.000-07:00</published><updated>2006-09-12T17:36:21.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Identity Selector for Safari</title><content type='html'>My good friend &lt;a href="http://hccp.org"&gt;Ian Brown&lt;/a&gt; has taken the xmldap.org code and created an &lt;a href="http://www.hccp.org/safari-plug-in.html"&gt;Identity Selector for Safari&lt;/a&gt;.   It even integrates with the Apple Address Book for self-asserted cards.   If you've got a Mac, check it out...if not, he's got a screen-cast.&lt;br /&gt;&lt;br /&gt;Nice work Ian!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115810778116103566?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115810778116103566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115810778116103566' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115810778116103566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115810778116103566'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/09/identity-selector-for-safari.html' title='Identity Selector for Safari'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115671702690994008</id><published>2006-08-27T15:11:00.000-07:00</published><updated>2006-08-27T16:23:48.373-07:00</updated><title type='text'>6 screws and a plate!</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/philwendy/118325921/" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/51/118325921_17cea89162_m.jpg" alt="" style="border: solid 1px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/philwendy/118325921/"&gt;6 screws and a plate!&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/philwendy/"&gt;Phil Hunt&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;Phil Hunt from Oracle(OctetString), &lt;strike&gt;Ian Brown of SOA (BlueTitan)&lt;/strike&gt; Phillip Kamps (yet another ex-sxipster), myself, and Phil's wife Wendy rode thigh deep powder at Whistler this year.   &lt;br /&gt;&lt;br /&gt;In a mad dash to the bottom to meet up with Mara, this happened to Wendy's knee.   &lt;br /&gt;&lt;br /&gt;She literally just laughed it off.&lt;br clear="all" /&gt;&lt;br /&gt;&lt;br /&gt;Update - My memory is off - it was Phillip instead of Ian.  As Ian comments we was out with his own knee injury...which was my fault.  Sorry Ian.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115671702690994008?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115671702690994008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115671702690994008' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115671702690994008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115671702690994008'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/08/6-screws-and-plate.html' title='6 screws and a plate!'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115671658659921789</id><published>2006-08-27T15:04:00.000-07:00</published><updated>2006-08-27T15:12:32.346-07:00</updated><title type='text'>Catalyst 2006</title><content type='html'>&lt;img src="http://static.flickr.com/73/197217329_836efb9721_m.jpg" alt="" style="border: 1px solid rgb(0, 0, 0);" /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/cmort/197217329/"&gt;mortimore, huang, shewchuk&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115671658659921789?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115671658659921789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115671658659921789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115671658659921789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115671658659921789'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/08/catalyst-2006.html' title='Catalyst 2006'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115663242354041516</id><published>2006-08-26T15:43:00.000-07:00</published><updated>2006-08-27T19:16:20.336-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>xmldap.org back online</title><content type='html'>Thanks to my friends at &lt;a href="http://www.soa.com"&gt;SOA Software&lt;/a&gt;, &lt;a href="http://xmldap.org/"&gt;xmldap.org&lt;/a&gt; is back online.&lt;br /&gt;&lt;br /&gt;There are a few new things as well:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The homepage has a new look, as well as a bunch of handy links: &lt;a href="http://xmldap.org/"&gt;http://xmldap.org&lt;/a&gt;&lt;br /&gt;&lt;li&gt;The &lt;a href="https://xmldap.org/relyingparty/"&gt;Relying Party&lt;/a&gt; has been updated to work with the latest CardSpace release.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The &lt;a href="http://xmldap.org/xmldap.xpi"&gt;FireFox Identity Selector&lt;/a&gt; has been updated to get it working with the latest versions of &lt;a href="https://www.identityblog.com/wp-login.php"&gt;Kim's blog&lt;/a&gt; and &lt;a href="https://infocard.pingidentity.com/sp/login.jsp"&gt;Ashish/Ping's demo site&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The selector also has a number of updates from Axel Nennker to support images for cards, and required fields in cards.  Thanks Axel!&lt;/li&gt;&lt;li&gt;Axel also just came through with support for optionalClaims.   Thanks again!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115663242354041516?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115663242354041516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115663242354041516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115663242354041516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115663242354041516'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/08/xmldaporg-back-online.html' title='xmldap.org back online'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115040719848993005</id><published>2006-06-15T14:31:00.000-07:00</published><updated>2006-06-15T14:33:18.500-07:00</updated><title type='text'>Burnin' Down the House</title><content type='html'>"Chuck...this is Mark...apparently the house is on fire"&lt;br /&gt;&lt;br /&gt;Everyone is ok, and the damage is minimal.   &lt;br /&gt;&lt;br /&gt;Slide show &lt;a href="http://www.flickr.com/photos/cmort/sets/72157594166930914/show/"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115040719848993005?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115040719848993005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115040719848993005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115040719848993005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115040719848993005'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/06/burnin-down-house.html' title='Burnin&apos; Down the House'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-115039946797043229</id><published>2006-06-15T12:22:00.000-07:00</published><updated>2006-06-15T12:24:27.990-07:00</updated><title type='text'>Identity Vocabulary Comparison</title><content type='html'>Here's a nice new overview of schemas across various identity systems by &lt;a href="http://netmesh.info/jernst"&gt;Johannes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Get it &lt;a href="http://netmesh.org/papers/identity-vocabularies/NetMesh-identity-vocabulary-comparison.pdf"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Discuss it &lt;a href="http://lid.netmesh.org/wiki/Talk:Identity_Vocabularies_Comparison"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-115039946797043229?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/115039946797043229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=115039946797043229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115039946797043229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/115039946797043229'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/06/identity-vocabulary-comparison.html' title='Identity Vocabulary Comparison'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114970114166492150</id><published>2006-06-07T10:24:00.000-07:00</published><updated>2006-06-14T17:57:36.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Microsoft Labs STS</title><content type='html'>This was briefly available a few weeks ago...looks like it's live again:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sts.labs.live.com/"&gt;http://sts.labs.live.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Haven't tried it yet myself, but it looks interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114970114166492150?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114970114166492150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114970114166492150' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114970114166492150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114970114166492150'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/06/microsoft-labs-sts.html' title='Microsoft Labs STS'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114740707302588708</id><published>2006-05-11T21:05:00.000-07:00</published><updated>2006-05-11T21:11:13.036-07:00</updated><title type='text'>Even better than the dolphins</title><content type='html'>&lt;a href="http://www.newscientist.com/article/dn9128-dolphins-play-the-name-game-too.html"&gt;This article&lt;/a&gt; about dolphins referring to each other by name has been making the rounds in the identity world.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dsc.discovery.com/news/briefs/20060508/drunkmonkeys_ani.html"&gt;The monkeys are still more human.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114740707302588708?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114740707302588708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114740707302588708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114740707302588708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114740707302588708'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/05/even-better-than-dolphins.html' title='Even better than the dolphins'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114740380853397548</id><published>2006-05-11T20:08:00.000-07:00</published><updated>2006-06-15T23:04:43.616-07:00</updated><title type='text'>I completely agree...</title><content type='html'>...with &lt;a href="http://netmesh.info/jernst/Technical/flat-identity-attributes-are-insufficient.html"&gt;Johannes' latest post.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;It's too bad rdf is so difficult for people to work with (or even grok)...the simple injection of a predicate into the name/value pair and you'd retain the ability to serialize complex object graphs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114740380853397548?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114740380853397548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114740380853397548' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114740380853397548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114740380853397548'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/05/i-completely-agree.html' title='I completely agree...'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114646911043504718</id><published>2006-05-01T00:32:00.000-07:00</published><updated>2006-09-11T09:06:48.706-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Firefox Identity Selector</title><content type='html'>I've just posted a prototype identity selector for firefox, which allows you to login to infocard enabled sites, without infocard, or even windows.&lt;br /&gt;&lt;br /&gt;You can download it here: &lt;a href="http://xmldap.org/xmldap.xpi"&gt;http://xmldap.org/xmldap.xpi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In order to get started, download and install the extension, and then browse over to &lt;a href="https://xmldap.org/relyingparty/"&gt;one&lt;/a&gt; &lt;a href="https://infocard.pingidentity.com/infocard-sp/"&gt;of&lt;/a&gt; &lt;a href="https://www.identityblog.com/wp-login.php"&gt;the&lt;/a&gt; public relying parties.  It also requires that you have a JVM installed, which you can pick up from &lt;a href="http://java.com"&gt;java.com&lt;/a&gt; if need be.&lt;br /&gt;&lt;br /&gt;Please note that this is of alpha quality.  It only supports Self Asserted tokens, and many other desireable features have not been implemented.  However, it should provide the based for some interesting discussions at IIW this week.&lt;br /&gt;&lt;br /&gt;Enjoy, and please send feedback.&lt;br /&gt;&lt;br /&gt;[Update: There seems to be a small bug with selecting cards.   If you click on a card to select it, and its values do not fill in on the right side of the screen, then click it again until they do.   If you attempt to submit with blank values it won't work]&lt;br /&gt;&lt;br /&gt;[Update: Also - keep in mind that I haven't figured out how to make the Firefox warning that a plugin to handle the infocard object isn't installed.   Simply ignore this, and please send me a note if you know how to make this go away]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114646911043504718?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114646911043504718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114646911043504718' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114646911043504718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114646911043504718'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/05/firefox-identity-selector.html' title='Firefox Identity Selector'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114550515860496209</id><published>2006-04-19T20:51:00.000-07:00</published><updated>2006-04-19T20:54:39.046-07:00</updated><title type='text'>Mara's on Flickr</title><content type='html'>&lt;a href="http://flickr.com/photos/maralmurphy"&gt;Check out our pics from NYC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://flickr.com/services/feeds/photos_public.gne?id=24894460@N00&amp;format=atom_03"&gt;Or subscribe to her ATOM feed&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114550515860496209?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114550515860496209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114550515860496209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114550515860496209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114550515860496209'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/04/maras-on-flickr.html' title='Mara&apos;s on Flickr'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114550469434076158</id><published>2006-04-19T20:38:00.000-07:00</published><updated>2006-08-22T10:23:43.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Interesting code block...</title><content type='html'>Here's an interesting block of code for displaying Certificates I found while poking around Firefox this evening...&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;mapIssuerOrganization: function(name) {&lt;br /&gt;    &lt;br /&gt;    if (!name) return null;&lt;br /&gt;&lt;br /&gt;    if (name == "RSA Data Security, Inc.") &lt;br /&gt;                        return "Verisign, Inc.";&lt;br /&gt;&lt;br /&gt;    // No mapping required&lt;br /&gt;    return name;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114550469434076158?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114550469434076158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114550469434076158' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114550469434076158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114550469434076158'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/04/interesting-code-block.html' title='Interesting code block...'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114471653799106266</id><published>2006-04-10T17:47:00.000-07:00</published><updated>2006-05-01T09:48:02.743-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Another Java RP</title><content type='html'>This time from Ashish at Ping:&lt;br /&gt;&lt;a href="https://infocard.pingidentity.com/infocard-sp/"&gt;https://infocard.pingidentity.com/infocard-sp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nice Work!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114471653799106266?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114471653799106266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114471653799106266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114471653799106266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114471653799106266'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/04/another-java-rp.html' title='Another Java RP'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114463263763590493</id><published>2006-04-09T18:27:00.000-07:00</published><updated>2006-04-09T18:46:55.003-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Finally...a Windows VM for the Mac</title><content type='html'>I've got to say, &lt;a href="http://www.parallels.com/en/download/"&gt;Parallel's workstation&lt;/a&gt; rocks.  I'ts jsut like VMWare except it runs on OSX.  Despite the occasional kernel panic (it's still in beta), I can now play with InfoCard without leaving my Mac.  XP is super fast, and my friends at Sun will be glad to know that Solaris x86 is supported.&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;Here's some screen shots of InfoCard running in a VM (click for bigger shots):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture1.jpg"&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture1.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;Here, I'm prompting for an InfoCard&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture2.jpg"&gt;&lt;br /&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture2.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;InfoCard displays some information about my RP, and asks if I want to send a card.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture3.jpg"&gt;&lt;br /&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture3.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;Since this is my first time using InfoCard, it asks if I'd like to create a card, or perhaps import some existing cards.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture4.jpg"&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture4.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;Here, I'm creating a new self-asserted card.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture5.jpg"&gt;&lt;br /&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture5.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;InfoCard confirms that I want to send my new card.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.comcast.net/~cmort/infocardPics/Picture6.jpg"&gt;&lt;br /&gt;&lt;img src="http://home.comcast.net/~cmort/infocardPics/Picture6.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;And I'm logged into my RP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114463263763590493?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114463263763590493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114463263763590493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114463263763590493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114463263763590493'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/04/finallya-windows-vm-for-mac.html' title='Finally...a Windows VM for the Mac'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114383202959814892</id><published>2006-03-31T11:05:00.000-08:00</published><updated>2006-09-14T15:36:23.730-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>How to consume tokens from Infocard</title><content type='html'>So - if you’ve been wondering how my RP works...here’s an overview.  I’m not going to cover declaring Policy or anything, as &lt;a href="http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnwebsrv/html/infocardwebguide.asp"&gt;Mike Jones’ paper&lt;/a&gt; seems to have covered it in pretty good detail.  I’m assuming here you can get InfoCard to invoke and POST a token.&lt;br /&gt;&lt;br /&gt;To get started, you need to get your hands on the XML Token.  This should be pretty simple, as your web framework will generally hand back parameters already URL decoded.&lt;br /&gt;&lt;br /&gt;Once you’ve got the token, you’ll need to decrypt the token.   The token is transmitted as encrypted XML, and will look something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;enc:EncryptedData xmlns:enc="http://www.w3.org/2001/04/xmlenc#"&lt;br /&gt;                   Type="http://www.w3.org/2001/04/xmlenc#Element"&amp;gt;&lt;br /&gt;    &amp;lt;enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /&amp;gt;&lt;br /&gt;    &amp;lt;dsig:KeyInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;        &amp;lt;enc:EncryptedKey&amp;gt;&lt;br /&gt;            &amp;lt;enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"&amp;gt;&lt;br /&gt;                &amp;lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /&amp;gt;&lt;br /&gt;            &amp;lt;/enc:EncryptionMethod&amp;gt;&lt;br /&gt;            &amp;lt;dsig:KeyInfo&amp;gt;&lt;br /&gt;                &amp;lt;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&amp;gt;&lt;br /&gt;                    &amp;lt;wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&amp;gt;zHXxYr8jTDe/UhznC81ixsQXSpI=&amp;lt;/wsse:KeyIdentifier&amp;gt;&lt;br /&gt;                &amp;lt;/wsse:SecurityTokenReference&amp;gt;&lt;br /&gt;            &amp;lt;/dsig:KeyInfo&amp;gt;&lt;br /&gt;            &amp;lt;enc:CipherData&amp;gt;&lt;br /&gt;                &amp;lt;enc:CipherValue&amp;gt;hgBNzEXXnoLNu6DPhXJanirEPOK/ey53RKISJrwvRhQazPBgqcnZPaxNVqZf6TOR1VbryCU6fbGw&lt;br /&gt;        jIuuXzTb5Z+0PsRPM4N8CLSBxYxN1BFCNnhW67qJ4zrw72OTIkkTLWvPDpJpAak6X6RGFteaf3zD&lt;br /&gt;        uVYU4Ta0sDmMD6lxgjs=&amp;lt;/enc:CipherValue&amp;gt;&lt;br /&gt;            &amp;lt;/enc:CipherData&amp;gt;&lt;br /&gt;        &amp;lt;/enc:EncryptedKey&amp;gt;&lt;br /&gt;    &amp;lt;/dsig:KeyInfo&amp;gt;&lt;br /&gt;    &amp;lt;enc:CipherData&amp;gt;&lt;br /&gt;        &amp;lt;enc:CipherValue&amp;gt;qCiqGzgr9JKl8hQXKBkZ7d+CIDmppKGTQgTYCjgT1/jR/0A4uj7gxLtERM09OACzC3oXGHn7o/9qk8J2seWp2gZdQSWcnEavbgGOYDARGi7Vu5jsBrav5m1d4HrpKD2H1uCgB8xNR6eHKoPrsCGN9x9chWph244dD3HlXMXj90OSFSt+/y1oy6DWQV8EC94C4mbUH9udNc2cp90n2MCdHIF+jmjGrDQHVL4AHIYEFbH8b5rIHrW/oFlztcVhon1vOTQ4u3AO6jPINvcZK92greuWMdoyc2Lhx2/G4xNjhRpGdyfFOSHStOCv1xA0mZSvnn9bTMT3khMjPKL5KWdwTduKghMJsoZLFC6M2b2HHM9KdihvF2qPMXMsk8ZOf4dmL76bTzOsfC0yTtasY6L4lLnq9jdOE9NVnxk3KiUtE3ckrwdsKTTP/7VqrXcfdL0NAT04KF30D3Gb3sjm5kebO28fFjC61bMGOd+9KiQUxZ3WO/Tsjiw2FauPJ2lELLQGiUzsvxQ168KBvqvvyBNrDdEYg/XEGnnqBvslV5zGYceV5ptPP8oNJe0ehuzjuN4EPe2RNuOsdXT3I9xp8vetEIFZ0oUw8Vvvocl7AbY8EwHGaHEN37PAzwISLjmm3PZxj5KqLWCo29nvcWWYT7zg154TrgjuU8SeKA3JtYif0Mjoh/OdBuKRjlcAX+a3NYeqBbag80pau7Yd+c6Vm3oQvqJEiA6ofay3kZL1xyhYFKo9CUxd5TfVUFFqSNCx6uUr6bVyYsU4C2TxpF5bl3mVCFqNtlG9QI1nr89zQgSfvbiTE31snHq++RU7xY2yZp8wiTOS4T560oqFKWf5PR9QjjSZh68tKzIM7aZeI3pV3v2wDVoIjkY8SL408xBfIeAW8K5Ea9/b2l7FSnMJ8Hr85EsfREV++odQWYN2iFlFUvMqPYGmCNVoV1/IE19oVdm1ekJK/JQbd3D4VLyiXezCL4a1a5wpOXlznpuYBDVo3IeQI38pl2NYSBWLqYxbDCmriEceKFSDKOr+ByRQgcOmtvE95EW3j1xudIHrzeOorY1RSGuQtXDaey7Ic5cQS3IpjAHM8cPjDMP/T3fXaoY887oruSD6xQtAcvHN21D+nI4V/d7Ze+JRBsuGIcEmkvmF0sdeVQt9GADEbTo4btnrls8JaSfnTePIXZ1V164oUzr+wRU66zV7AL0uk/2poZPps2DtGV+S/u7Mm8bZihs7I4WqqWu5b7wFQ2TKReFD92XJu8gmxVdoQIivFKGNrBPt9Q20FAEnW97LbKhotL/Sy0tD8cVvgmEyK2CYsrqLYAtOv647hA3tcGYKWLoZ6Vmxdd/BVl7UxNiTfnImX/83MVuV0SetKnRRnROnJoGDHFGXWnPKIU9WHezA89xKvwTen9dg1g2YgsM7H6K46yQzREx0evvt0Ax2j6tmRulGuhvckGTl0szZVBK0DSK+fHgJqf4jaN/RooFG4IkdKhaxHuILlA7137JahdhoWPlv2amaCKB8S+FyFPX/C59zXY/fQZw+3g5joMdbWt/M6NL1zgJlPzrEqUTo/t94m1j8qllh0k2TuPtdtLdkJQHxYg/e0NZgLgH/czbUPdG3dR+dAqxFaCcyfcy040vLCqGw9cpcz5iyGGh953ALFoCRGDRQuaghb1zO3eqI/ZxC0C9hv6M/nOF7pyH4mqUl3B+ctvk0yxQwhcoAS5CXi3C0LmryhMQevYfyVbJMMOHlxBmaYq1JAPwUTcEGGCQhfgo6uVgpoe2KAgGhV43GCRxk2tjuXFsYR1byy08bCFfTqXIYCLKRFvoElbbk6toubndS9XuiH8C3fVX21A0Ck6zZF9GoZzYkczuLYQZF+3FZw41KOV7/S7ASVIgAVQPeR5aLggJ2eeFdTFNYAJhZUq6exWfns3o7S2UAgF7qNGj/TIJGLZmZVElsAqWLpQGZskoeFCceNibEeWp+4YqIkz8r3MGedWYfuOfSHF8W/LoYR6Pgwh9Bt1Acx1LG2aALtmh/LgzjCGatxy3QwOXj0k+ghzFiQOzXJuLOYyKXVWnMI9kxJGZA5dLASD4np6/Yy4LMFZdJ6Q7o/5E68Bv6VXLMfhsdIXJwxVvHNgomIez/nwNc52edUkPT8AP2mRpmE9pDNOw4o/KZAhwn4e4lEfkIhZmN/Xn+SBRCEId3CrJM749WJpvd30T9Is5PcCZ3yQ+QIPBmizaOSIfkT2XshTZ99FNxzQlx7mdz6wv8bGIO+Ox9rcvP4zbN+6QWta9lvRdtW+0mA6ms8M19vCecc4EmlxLO/hhYj5gGZYGCswVgHmKQabzOeOzXbn1xF+kOm4j1bWz1/yBwvduCK2Qtv8RYYBKfhKcx7zR9fiRkzAeqqOrEQ/AxXM0cXVmTWb01TKs+vrPkEKzT+DulwAO9RVNFs+7sOAzVC50YCCuPjMLu2D52NCw4IMAed5eSmT5wZ74XHAg+Lzbz6WspTfeabDthchP99IeRHgb1ybyCxUXfeBMocG6HAEhCgDg/oGGe/99aLvE7jGbgbZrbdALJOd32/oGWtMeecft5lomAI/vGjAcrcOpIgUKKE+ANFShGTsk3LJ5qw/juL44a5kOf1rZUMZHiAUKQzW6iOsYDRiYnYzC1HAtpHjGO++i90FYsHLyoxrq4aRNdgptIoa92D+5qPQLVCSPAX4/lEkQ6YECt9jmDhFWPGfp7Hql959h35vZCHEwvZi6i8ATQIgiVaXX9TNdZNUaFQaDy6g+6Hqxb9qsTDQfJ9JkeEkPrgxjFMlIC4iAkBQHajBtPVq51V4r6klbqnKNdTshJnVwwQ688bGg+ccIojmKQmyNlV2Ws/3VGyVfQd7JAQv0qcThGltEig0RVwPYeS+PMxuCup2A1hws+qEGdUUSkvF/xs48+SW91xjoqxEDDEyVobx/Zrnnn53PDM6TGDqMgMyZ5WYVW3jvzqY6watMdTwHXUHzS9OvjxxN3qdQfdp7EDF6hkCitWyG8NWsDR6Aam/V2dxa3E8JjjSc1Ja4PUB7g8jiHonzyVvEvKQ5NZ325L4pPBcEUdbtpyfVsb5AsofEkvibc3AwRyBxxtdunhnNB04CZAFQlcYJygAdaZ7hafuqaey+vRFJl3DRNDX71mzsPyexBzxug0uBeX4HlmpQqi6HSemRLeLAx/7DBJ1EFbAqu0zv2uas8rknok19xU0+wHOeHcWGNUPfjJfCc1RdkJ425JT+1VVXgpThJk5l0OjK737ZEw0/ITUMUv0KbhwJX1cGLacCfEWPIDeubDzkHpNpYqzBj1WPV1Nc2YjX7jFvhoomYeE/ihJA08JsXIAXlX/GkDRJL164x1DMy8pUtzzrDPhIUlT/8XJCRSUa2lQ4lms4WrMxh3aFKHBTLQS6RAK2QlBYdWMSCNz3oytVqLxqf/KkGrhjqJajylYxFS3ktia3j0k5PpH+gpNEuiQL3F2zSfT9vn8nOLQDhfyF7kVuW1AN/paxknCYL7TCJuqK9DNAQyW7hQ7Ij/3NRvIZ+ztFYWj2wziGqjvNXzRhUNi/z+qAeBPNpwzGTRYQoGSoucjorpiEDj2nrKAnxIwwC+i4CWr1A1fLY6e2obpxN5J7D7lcSuXvvF/GqEXEkqZJc8V5zj9ct3ISqG/hEJ9kdnAjeqFkK35/ZlKlfVFbcomBYFWucUC8DPA6a54RIOJK37GNLNahhRh8tgKU2KSknUpejqdF9Jlz5K4ndUrPTqmRzv8ROiMU6WNKtUsEFGOMtdQpb1t13iX/gadVdBbmr4opaIpPhEctuaPx6S0a+e7jJarvQRl6DhTysjnlw56sK3QImHGuJ2726Lh8+6UymbtdizBIJ8fsj5EI5a0FpaBHe1EmJ05p3SmVnW8Gieccevbg4Tp9LRLQEobBT+AzlLbEuIBWxj8tVKegbXlt1ndefuxbzfmgwE3vno0A31tbKEagO/j6zzcSLmdHjG/Csti6QHM8BIX/Bld/W4m9rk0FBvyoiM91pxZSoU0LngVJC+EIKL/OcMzehyEwdbR6f6E8LjDQBBmdFC9VLcpr2ao0YeMGPRdD0ldPAj1IU+l0d473qc6f1ZzQ0lw7JHkwOoHebqQQgZtg+gyy1ejKRIVi55wfshHssKBujAvdV3MM9yKgbXXunO0gSEX/clk74lx3qQR9WNOsbX5B2Ex0UmEXRFTFl5n86annC9QRWtj/IpTNjbktXzxrxAbg0ePp3i59z994+hjp0Oq83rAnT06R1GYI3I9G+KYjtDz0cPZ4c0P8gsETxmW4AjSsGbxGGwxSXoUsut86ENWtpsCIYwsc/BX3UNe4/PjLuzC9InJb93e8C8fB/rdiUpBOco9U0e1AS1fAMBhwhJOOnMZlTZa0R1mJyCarWtvLcMTrO9uWXS/s9NvdGLHRgrW1yMyNmXLEZsDoejl0IsiOx2lzwoyNd+m5G0LOGdHa9uFvlPwYnZ579h3fvWSR5yyV9YZwBD8Zvk3kGPcJd8ybz3Dw21lpHXEsWEReS3kkq+doQE60sv4gXhLGFHZAOClbFKNLcXuW1UX2QE+sjPjn3NsucEE4FQDsMBEQbdZnlFR6rsKAM+ePGJlBn7I9DDMZQpOIZhVkXF6y2q1n9qGvN/HTb3xplWjR/RXFKKqiaShktHdBnPIOmJnXRIvE8EJpq0tMd088QHmbGENDyq0HDgv1nmKfQq+xoyuEOy88gayUdxo8cvoJ6gcrSYLZVr0x3njwSZVgRrmhWsmV29uyEbOYIrIs8o0QlHWZ8m7jO04zbPY34q4otbNq+Qq3jrYwPc/+Opx940ehRKz/+/AePjjSMmbokHDV+hv40HWn4ACWluF8AzQF81H1HNKgIbuK6HZq8j0TEHbBwWDByPuMf6GkwV9gBKuuiNHy9VQiTssuz4dx6Qs0eqEDTJ0bsd30Z+jk9DtxC6f19YJhEv9Ait/SahUt0vjS+8lxuIWUWnz4fy7NTqRWhukVwe97rrZxyosZSsQjPkzSFOA9FAhOaSFVsP+dZeJv4tqmsWMtZ4mmtSQaz62VFGd6NuSwtk2giaZIzW+EcK6qRYjFOiGmZtZpTClqp3h4VpioTGZxLu8vEx91vE0Ew1H8W9YhNW2bEFajK1Vhimx6HkFn8Yy/WpFh28S4peDWIu25DiotDhSJE0iiqz228nk4xHK4kmzWqwVsrhoIo1m+SjNajFfdMVXWZHD3emsS2ZEGa96c/BuxyreGryvQhqz9TQG2Tqw/XXrK+jSYHe734jQ4jTAAfhu0MxBFeiHJJo5robDePuKid/Vh1hvb0uVKKmdc7wNqGXHjP3qM/uyrJJ4tJSBknd0YKc0kTTxeDmJY1pj8yX2gk5SuqhhEBssaJp2bS9lYucYiVM4IrZ4+osVdF/iIxt/5sIQPmPmiaKlkV5Guq7hjOldchCNsanpP2MluTuoptmjXgwfR3lsDokcrva9mKvaaIzofziGFffsYLlBv9t0YS5ZUtW064aa4Z9qGLTXEzmZjvwEU51sSLc371m2U6LLxoT1vSJPtV0idtzR6Q9ezzHeSuaRctGbbVOUyCfd1CL60PlNmTlrUSTavfldGxuGdT/7+WkozgfI+AUih9G1uA1999dGWOy/LBg+Znvb53O5sgrENYiV5OIfVGG7k008I34mkIv6NixpOz8/qixcvFYfl18LvAQSEYFuNaKZfp3WvrJRpxPIZiYx0240G/EjdfKmZLrrPF/zijyW1IjQhwo+xg3n/0BL5MbCFoXztncWX8tVfOW/HEH+m3oAj3eCz83K00vDNqGpGlfxF4f3KGYR7oGglhcMAAnYd0xhggXlMBpDVDv5pLHZCx+CWfNmX7ZCBsVeDmTZgUmq76L5cn4yrhFjm4PypSsO4H1n/lgymZhx1ydb4ZD2tYOzoxEYyJfkEP4h07fJBLi/hp98PCL7Da4mIq81u+7y4jNs3WHO//nmbEBg3LisgmZHrBVI0OUphmNpM+eU5FM1F8eo3za5I3fymPPjOymrsO7fEvdhSLqBbwTqzNAhzw8/vx4I7e9rG7emnvU/3cQAcKd3J5RCChjf0ofWgzmU5bGKYyNHU1IZvhC+Z2kk7TINQyYas3E9uYrZjGS9pF8ppkdc8UdLJaapnPN1h7+DybO2QYQ2hTzU88+sUASUtv/LWFFq0isKjfqDW9XYj4FaIDuGZ6A1Fswy6QYHaeaRi8GCdtT4C8LyCmVkadWNlbcloZPosI8q/qTG9NigEA1p7j7ahAzeZhBUPuCX7vhvFoGg6Ie9wE754X57BvYKqcFbO2WPoDfEir0ibQpS+2uAu7tXdiWEqTId8Fv7JnSs9thx+M1ZYJHe1n1xDdX2FngsWTd2CLvYvHZGl52fmjl/UP7P0dIABY6enZKZ/XTNwKEGc98fijrvMW9CaH6D1N5vCPddD/VBlImkiCaiD7jGNyAtj5xwgGj0OnBHf2mhxHpq650L5qb5NkojFB9Bb07c2UkUxIATy0dZkxtZyK5uIB6IIs1b1bHiaKJHwp4qTw7k3xxXuhSUPdRSncSL19XVUNwnWhQtS4r+jvoM2gsglXDB8yjhXWwc6JvLTp0VKq4XsAM6BV4DodPC4N/GgGYghhxy6uO7ViRU+R0z/H4o/VMifUvOs4anMY1SSe&amp;lt;/enc:CipherValue&amp;gt;&lt;br /&gt;    &amp;lt;/enc:CipherData&amp;gt;&lt;br /&gt;&amp;lt;/enc:EncryptedData&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Basically what you have here is an ephemeral symmetric encryption key, which has itself been encrypted with the Public Key of the SSL Cert for the website InfoCard is interacting with.   As you can see from the metadata provided in the KeyInfo fragment, the key is encrypted using RSA with OAEP encoding and SHA1, using the certificate identified in the SecurityTokenReference with the provided fingerprint (the fingerprint is a SHA1 hash of the cert bytes)  &lt;br /&gt;&lt;br /&gt;Your first job is to decrypt that encryption key.  Step one - remove the Base64 encoding.   Step 2 - you need to write a function which takes the private key for the cert referenced by the fingerprint, along with the data as input, and decrypts in this manner &lt;a href="http://www.w3.org/TR/xmlenc-core/#sec-RSA-OAEP"&gt;RSA-OAEP&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Once you’ve successfully decrypted the key ( it should be 256 bits), you can use it to decrypt the token.   As you can see in the XML, you need to use AES with a ChainedBlockCipher.   Decrypt the token (Don’t forget to strip the initialization vectors...thanks &lt;a href="http://www.amazon.com/gp/product/0201787911/sr=8-1/qid=1143829228/ref=sr_1_1/002-4884242-9606453?%5Fencoding=UTF8"&gt;Gary&lt;/a&gt; ), and you should see something similar to the following: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;saml:Assertion MajorVersion="1" MinorVersion="1"&lt;br /&gt;                AssertionID="uuid:d2de97e7-96ac-4bb3-a373-4fc11c914519"&lt;br /&gt;                Issuer="http://schemas.microsoft.com/ws/2005/05/identity/issuer/self"&lt;br /&gt;                IssueInstant="2006-03-29T20:52:45.312Z" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"&amp;gt;&lt;br /&gt;    &amp;lt;saml:Conditions NotBefore="2006-03-29T20:52:45.312Z" NotOnOrAfter="2006-03-29T21:52:45.312Z" /&amp;gt;&lt;br /&gt;    &amp;lt;saml:AttributeStatement&amp;gt;&lt;br /&gt;        &amp;lt;saml:Subject&amp;gt;&lt;br /&gt;            &amp;lt;saml:SubjectConfirmation&amp;gt;&lt;br /&gt;                &amp;lt;saml:ConfirmationMethod&amp;gt;urn:oasis:names:tc:SAML:1.0:cm:holder-of-key&amp;lt;/saml:ConfirmationMethod&amp;gt;&lt;br /&gt;                &amp;lt;KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;                    &amp;lt;e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#"&amp;gt;&lt;br /&gt;                        &amp;lt;e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"&amp;gt;&lt;br /&gt;                            &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /&amp;gt;&lt;br /&gt;                        &amp;lt;/e:EncryptionMethod&amp;gt;&lt;br /&gt;                        &amp;lt;KeyInfo&amp;gt;&lt;br /&gt;                            &amp;lt;o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&amp;gt;&lt;br /&gt;                                &amp;lt;o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&amp;gt;BCDy8bwQIxTqcoTObIhcvR2KOLw=&amp;lt;/o:KeyIdentifier&amp;gt;&lt;br /&gt;                            &amp;lt;/o:SecurityTokenReference&amp;gt;&lt;br /&gt;                        &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;                        &amp;lt;e:CipherData&amp;gt;&lt;br /&gt;                            &amp;lt;e:CipherValue&amp;gt;XjkCVuQZ19sYbSnEeKYQ7wD/+bKvGL6kkS2yuVjQX4y3N7U86zRJ66njNPdFNdh8k/x+5CNF1rpjq/Be75a1skO9ePjLgik/UA1DlDo9jaFoYvRlEj0BN/TPJaMZ24kcmcG+QeU89rdg0S4+bqxytHyh14m6IaIaX4aj88RRVq4=&amp;lt;/e:CipherValue&amp;gt;&lt;br /&gt;                        &amp;lt;/e:CipherData&amp;gt;&lt;br /&gt;                    &amp;lt;/e:EncryptedKey&amp;gt;&lt;br /&gt;                &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;            &amp;lt;/saml:SubjectConfirmation&amp;gt;&lt;br /&gt;        &amp;lt;/saml:Subject&amp;gt;&lt;br /&gt;        &amp;lt;saml:Attribute AttributeName="GivenName" AttributeNamespace="http://schemas.microsoft.com/ws/2005/05/identity/claims"&amp;gt;&lt;br /&gt;            &amp;lt;saml:AttributeValue&amp;gt;Mister&amp;lt;/saml:AttributeValue&amp;gt;&lt;br /&gt;        &amp;lt;/saml:Attribute&amp;gt;&lt;br /&gt;        &amp;lt;saml:Attribute AttributeName="Surname" AttributeNamespace="http://schemas.microsoft.com/ws/2005/05/identity/claims"&amp;gt;&lt;br /&gt;            &amp;lt;saml:AttributeValue&amp;gt;Milo&amp;lt;/saml:AttributeValue&amp;gt;&lt;br /&gt;        &amp;lt;/saml:Attribute&amp;gt;&lt;br /&gt;        &amp;lt;saml:Attribute AttributeName="EmailAddress" AttributeNamespace="http://schemas.microsoft.com/ws/2005/05/identity/claims"&amp;gt;&lt;br /&gt;            &amp;lt;saml:AttributeValue&amp;gt;milo@xmldap.org&amp;lt;/saml:AttributeValue&amp;gt;&lt;br /&gt;        &amp;lt;/saml:Attribute&amp;gt;&lt;br /&gt;    &amp;lt;/saml:AttributeStatement&amp;gt;&lt;br /&gt;    &amp;lt;Signature xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;        &amp;lt;SignedInfo&amp;gt;&lt;br /&gt;            &amp;lt;CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /&amp;gt;&lt;br /&gt;            &amp;lt;SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /&amp;gt;&lt;br /&gt;            &amp;lt;Reference URI="#uuid:d2de97e7-96ac-4bb3-a373-4fc11c914519"&amp;gt;&lt;br /&gt;                &amp;lt;Transforms&amp;gt;&lt;br /&gt;                    &amp;lt;Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /&amp;gt;&lt;br /&gt;                    &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /&amp;gt;&lt;br /&gt;                &amp;lt;/Transforms&amp;gt;&amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /&amp;gt;&lt;br /&gt;                &amp;lt;DigestValue&amp;gt;leav91ZV/KJpwumP/j+4XtlEvJg=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;            &amp;lt;/Reference&amp;gt;&lt;br /&gt;        &amp;lt;/SignedInfo&amp;gt;&lt;br /&gt;        &amp;lt;SignatureValue&amp;gt;gEVmREMwNiE67hMdOf7uuC4jnhG4f9y3WYL2pL6d9F3Nblf3qddMe6K+d/b6ucePKS3Q9XXBmBu2tWtmZlwTzldVjx8IYZb5u5jcQByAp2GrTJb/XxHA/3BkE073zdFRlmHje467kVd4Mcg6X2qNsV1N+euZqCUfmrXyf3cs5n4u6A9A1CTuQhCOGhE7jjDUGPmyChJa2YfHqpiVPEXgqN+RYOTLUFbA2kKj1Jyi8+FJD7vHP/5/kblge82waNFOOaA6d7lXDhr4lBDDhr5vKoNWy91bDMStn+nKN7Nzj7zPjxjynp7CisSewyWxAjcD9XDl/I9Va2UVDmPr4JC4bw==&amp;lt;/SignatureValue&amp;gt;&lt;br /&gt;        &amp;lt;KeyInfo&amp;gt;&lt;br /&gt;            &amp;lt;KeyValue&amp;gt;&lt;br /&gt;                &amp;lt;RSAKeyValue&amp;gt;&lt;br /&gt;                    &amp;lt;Modulus&amp;gt;rCOb7lDap18tsTurz6j/fSYnO+ck5or10hn9tZhCDwXfJip2lqjIFcj3fYv1cyP96dl4++x8QGXSB5WAu3NNtjZkVxTDO4sOk+IpkLOlE5vM6ClMSV46tx9fo6tbQ9EhJTy7vXAbCH6hQnowxdmUEVKJudCtlMeHSotix98T5zJXYMjeLvmDPmSK8pG/t+kBmRjsgSZGqjD4VFlnDBpYOZ4R+nH2ESudyvZUwAkgPAEtGuBcc+nXVUEbs+O1xOkzcTRCm9FCoww1oNSi2maRGontD14Cbyy3DuNRxqPSxEc8rN7KBoq5w2y+Q5YTVYBB+qn2rXbO0aQlYHXIZOATpw==&amp;lt;/Modulus&amp;gt;&lt;br /&gt;                    &amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&lt;br /&gt;                &amp;lt;/RSAKeyValue&amp;gt;&lt;br /&gt;            &amp;lt;/KeyValue&amp;gt;&lt;br /&gt;        &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;     &amp;lt;/Signature&amp;gt;&lt;br /&gt; &amp;lt;/saml:Assertion&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next step would be to quickly check the validity period on this Assertion to make sure it’s still fresh.   You might also want to check the AssertionID against a table of previously seen assertions to prevent replay...depends on your level of paranoia.&lt;br /&gt;&lt;br /&gt;On to signature validation...you should follow the steps outlined in &lt;a href="http://www.w3.org/TR/xmldsig-core/#sec-CoreValidation"&gt;XML-DSIG&lt;/a&gt;, but to paraphrase, check the digest of the canonicalized assetion against the digest in the SignedInfo block, and then valhttp://www.blogger.com/img/gl.link.gifidate the signature of the canonicalized SignedInfo using a PublicKey constructed from the provided KeyInfo.  &lt;br /&gt;&lt;br /&gt;Now, what’s bugging me is the use for the Symmetric Proof key provided in the Subject of the Assertion.   &lt;a href="http://blogs.sun.com/roller/page/superpat"&gt;Super Pat&lt;/a&gt; and I discussed this for awhile, and since it’s not used immediately in this protocol exchange, our best guess is that it’s used in subsequent interactions with the service, although I must admit the InfoCard docs are a little fuzzy on this subject.   If anyone can fill me in, I’d appreciate it!&lt;br /&gt;&lt;br /&gt;Finally, if your signature validation worked, extract the claims, enforce any policy you’d like, create a session, set a cookie, etc...&lt;br /&gt;&lt;br /&gt;good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114383202959814892?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114383202959814892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114383202959814892' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114383202959814892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114383202959814892'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/03/how-to-consume-tokens-from-infocard.html' title='How to consume tokens from Infocard'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114378960522217955</id><published>2006-03-30T23:03:00.000-08:00</published><updated>2006-03-30T23:27:29.246-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Make your own security tokens without InfoCard</title><content type='html'>Once you can consume security tokens from InfoCards, it's not too difficult to make them.   Since most people don't have the time to try out InfoCard for real, I thought I'd add a quick utility to make your own tokens, and submit them to my RP.   This should allow you to at least learn about the format and protocol for using InfoCard over the web.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://xmldap.org/relyingparty/"&gt;Try the updated Java RP&lt;/a&gt; &lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114378960522217955?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114378960522217955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114378960522217955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114378960522217955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114378960522217955'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/03/make-your-own-security-tokens-without.html' title='Make your own security tokens without InfoCard'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-114368512507756025</id><published>2006-03-29T18:15:00.000-08:00</published><updated>2006-04-03T07:01:57.570-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Simple Java Based Relying Party</title><content type='html'>I've just turned on an InfoCard Relying Party, implemented from the ground up in Java.   If you've got InfoCard up and running, please login and send me a comment.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://xmldap.org/relyingparty/"&gt;Java Based RP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll follow up soon with details, as well as an overview of how it works.&lt;br /&gt;&lt;br /&gt;[Update: I've had some complaints that this isn't working with the latest and greatest IE ( &lt;a href="http://www.identityblog.com/?p=416"&gt;due to an issue with IE according to Kim&lt;/a&gt; )    I suggest build 7.0.5296.0 for now. ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-114368512507756025?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/114368512507756025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=114368512507756025' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114368512507756025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/114368512507756025'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2006/03/simple-java-based-relying-party.html' title='Simple Java Based Relying Party'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-113264159162773074</id><published>2005-11-21T22:39:00.000-08:00</published><updated>2005-11-22T07:58:38.300-08:00</updated><title type='text'>I for one...</title><content type='html'>I saw a commercial for robots tonight.   Allow me to paraphrase:&lt;br /&gt;&lt;br /&gt;I'm a neat freak...I'm obsesive compulsive...The Roomba is more intelligent than some people I know....It is a full featured robot...I know it's about to do a great service for me...the rumba finds more dirt than is humanly possible...I love robots...I don't know why I didn't buy one sooner.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.irobot.com/sp.cfm?pageid=190"&gt;I Love Robots!!!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-113264159162773074?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/113264159162773074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=113264159162773074' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113264159162773074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113264159162773074'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/11/i-for-one.html' title='I for one...'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-113264143921732198</id><published>2005-11-21T22:35:00.000-08:00</published><updated>2005-11-21T22:47:08.553-08:00</updated><title type='text'>Six Sigma</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/28/65793533_79f4d43b79.jpg?v=0"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://static.flickr.com/28/65793533_79f4d43b79.jpg?v=0" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;My new Salomon shipped with the following "quality control" device.    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-113264143921732198?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/113264143921732198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=113264143921732198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113264143921732198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113264143921732198'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/11/six-sigma.html' title='Six Sigma'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-113141433294560481</id><published>2005-11-07T17:34:00.000-08:00</published><updated>2005-12-05T14:59:04.536-08:00</updated><title type='text'>Identity Claims Transformation in Action!</title><content type='html'>Speaking of transforming claims, my good friend &lt;a href="http://blogs.sun.com/roller/page/superpat"&gt;Pat&lt;/a&gt; is off in Tokyo at the moment speaking at Java ONE.   As it turns out they've got a &lt;a href="http://jp.sun.com/company/events/javaone/2005/highlight/051104.html"&gt;nice little posting of his bio&lt;/a&gt; for the converence:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px;" src="http://jp.sun.com/company/events/javaone/2005/highlight/images/pat.png" border="0" alt="" /&gt;&lt;span style="font-weight:bold;"&gt;アイデンティティ管理テクノロジーはこのセッションに注目しよう！（Pat Patterson氏）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pat Patterson氏は、1997年にロンドンにあるソフトウェア開発会社のTrustbase社に入社。その後2000年にSunがTrustbase 社を買収し、以来Sunのアイデンティティ・管理製品グループのテクニカルアーキテクトを勤めています。フェデレーションとアイデンティティベースの Webサービス技術を中心に活動を行っています。JavaOne Tokyoでは２つのテクニカル・セッションのスピーカを担当。その内容について伺いました。&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Obviously some fairly interesting claims about Pat's reputation/credentials, but unfortunately, not in one of my required formats.  Fortunately &lt;a href="http://babelfish.altavista.com/tr"&gt;BabelFish's STS&lt;/a&gt; allows for some simple claim transformation: &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;You will observe identity management technology to this session! (Pat Patterson)&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Pat Patterson joins the Trustbase corporation of the software development company which London is in 1997. After that Sun purchases the Trustbase corporation in 2000, serves the technical architect of the identity management product group ever since Sun. Focusing on the federation and identity based Web service technology activity is done. With JavaOne Tokyo you take charge of the speaker of two technical sessions. You asked concerning the contents.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Awesome.   Looks like the metasystem is going to need to stick to statically typed claims, with well defined transforms, for awhile yet...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-113141433294560481?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/113141433294560481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=113141433294560481' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113141433294560481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113141433294560481'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/11/identity-claims-transformation-in.html' title='Identity Claims Transformation in Action!'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-113140434166687497</id><published>2005-11-07T14:57:00.000-08:00</published><updated>2005-12-08T14:57:57.423-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Reply to Craig Burton</title><content type='html'>Craig Burton &lt;a href="http://www.craigburton.com/2005/11/03#a814"&gt;recently replied to my comments&lt;/a&gt; on his I Cry Post.  While I generally agree with his sentiment on the metasystem, I have to take issue with the oversimplification of Infocard, Microsoft's implementation.&lt;br /&gt;&lt;br /&gt;Craig states:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;WS-* is not the encapsulating protocol. WS-Trust is the encapsulating protocol.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;WS-Trust is actually just the encapsulating protocol for claims transformation.  &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/identitymetasystem.asp"&gt;Microsoft's paper on the Identity Metasystem&lt;/a&gt; defines encapsulating protocol as the following:  &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"The encapsulating protocol provides a technology-neutral way to exchange claims and requirements between subjects, identity providers, and relying parties."&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;While WS-Trust may provide for claims transformation, it certainly does not provide provide the complete working pieces of an Identity Metasystem.  In order to build a metasystem, you need a number of other critical pieces.   In this case Microsoft is requiring:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;WS-SecurityPolicy and WS-MetadataExchange for declaration and negotiation of claims requirements&lt;br /&gt;&lt;li&gt;WS-Security/dsg/encrypt and  for message integrity, confedntiality, and claims presentation&lt;br /&gt;&lt;li&gt;WS-SecureConversation for channel security and trust associations&lt;br /&gt;&lt;li&gt;WS-Addressing for action, address, and message correlation &lt;br /&gt;&lt;li&gt;SOAP for transport abstraction&lt;br /&gt;&lt;li&gt;...and some other tiny required specs...&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Although not all of these are required components of an abstract metasystem, they all seem to be requirements of the Microsoft implementation, and that seems to run contrary to his call for an "architecture that is independent of mandated adoption"   You gotta buy in.      &lt;br /&gt;&lt;br /&gt;Craig goes on to say:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;What does WS-Trust do?  It converts a token (in any format) into another token (in any format). You input an existing token, a request for a new token, and get back the new token. In otherwords, it is a token exchanger – between constituent systems.&lt;/span&gt;  &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Properly characterized, I'd say WS-Trust simply allows you to request this action to be performed.   It's a simple request/response protocol, where the magic of any to any token transform is left out of band.   At that point we're left up to systems that implement an Security Token Service (STS).   I can name 1 commercial STS implementation (IBM's FIM), the Indigo Beta from Microsoft would allow you to build one fairly easily, and prototype code from sourceid.  (Anyone know any others?)   Unfortunately, given the above protocol requirements, there is some serious impedance in place of ubiquitous adoption.   &lt;br /&gt;&lt;br /&gt;Compounding the protocol requirements, in order for an STS to convert a token in any format, to any format, some sort of semantic equivalence between the two would need to be defined and implemented...something which is generally non-trivial, and sometimes not possible.   Additionally, without a single canonical token format, and lacking a registrar of token formats and transforms, we're also left with a pretty serious scale issue.   How does one know what the possible transforms are, and who can fulfill them?   How do you incent the Supplying and Relying parties to negotiate (and by this I really mean implement) to a common set of claim formats?   &lt;br /&gt;&lt;br /&gt;Realistically, I think we'll probably end up in an environment where we negotiate to a limited set of common claims formats for the common stuff, and allow transport of a variety of vertically focused claims.   Bridging between the participating parties is critical, but I'm not convinced that its the transform that's the killer app.   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What I do think Craig really hits on here is that it's mandatory that a multitude of claims formats be supportable; a successful metasystem will neither be able to predict, nor prescribe the token/claim/assertion/attribute/etc formats which will flow across it.   The transform is really just a facilitator, often necessary, but perhaps not a required one.   I think Microsoft really nailed the decision to leave the token format out of band for the metasystem.  This is critical to ubiquity, and I'm singing along with Craig on this.  I am skeptical that they've got the right design center for adoption in the encapsulation protocol, when looked at in terms of it's complexity.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This does bring up a few outstanding questions I've got about Infocard:  &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;What is the metadata format for "cards"?  A combination of a WS-Addressing  Endpoint Reference and Ws-SecPol?   Something else?&lt;br /&gt;&lt;li&gt;How is it advertised and acquired?  - Discovery seems totally opaque in the information I've seen so far.  Kim Cameron alluded to the ability to advertise that one provides a card on a website at IIW this year, but what are the details?&lt;br /&gt;&lt;li&gt;At IIW, Microsoft mentioned that in order to promote usability aspects of the system, they'd be binding a human readable explanation of the machine readable claim.   What is that format, and how is this not a new mandatory claim format for us to adopt?&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Anyone out there have the answers?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-113140434166687497?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/113140434166687497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=113140434166687497' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113140434166687497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113140434166687497'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/11/reply-to-craig-burton.html' title='Reply to Craig Burton'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-113044882561929556</id><published>2005-10-27T14:28:00.000-07:00</published><updated>2005-10-27T17:50:12.196-07:00</updated><title type='text'>Big Iron</title><content type='html'>Went down to Atlanta earlier this week for a Sxip install...ended up getting awfully nostalgic for Sun when I saw this sucker:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/bigiron.jpg"&gt;&lt;br /&gt;&lt;br /&gt;That's a $5 million dollar Sun StorEdge L8500.   Basically, it's a giant array of backup disks serviced entirely by robots, complete with a built in fire suppression system.   &lt;br /&gt;&lt;br /&gt;In 4 years at Sun, I never actually saw one in the wild.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-113044882561929556?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/113044882561929556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=113044882561929556' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113044882561929556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/113044882561929556'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/10/big-iron.html' title='Big Iron'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-112848781152146489</id><published>2005-10-04T21:46:00.000-07:00</published><updated>2005-10-04T21:50:11.533-07:00</updated><title type='text'>Identity Insurance</title><content type='html'>Interesting development...AllState is providing Identity recovery insurance:&lt;br /&gt;&lt;br /&gt;http://www.allstate.com/landingpages/home/idtheft.aspx&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"With Allstate's identity restoration coverage, you have a dedicated team to handle the complicated, time-consuming and tedious work needed to help restore your good name and your credit rating. They will make the phone calls, handle the paperwork and deal with the credit bureaus. Some services focus solely on credit card theft or offer limited expense coverage, but Allstate goes further to help protect your good name — and your time."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Sxip's at Web2.0 this week trying to kill this market off before it starts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-112848781152146489?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/112848781152146489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=112848781152146489' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112848781152146489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112848781152146489'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/10/identity-insurance.html' title='Identity Insurance'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-112234742178523639</id><published>2005-07-25T19:54:00.000-07:00</published><updated>2005-07-25T20:10:40.310-07:00</updated><title type='text'>Interesting post at sforce</title><content type='html'>Benji at SalesForce.com &lt;a href="http://blog.sforce.com/sforce/2005/07/sforce_single_s.html"&gt;had an interesting post&lt;/a&gt; today on the sforce blog.  Here's the juicy part:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;How do the clients, which all use web services to authenticate (using login and password today calling our login call), know where to get the SAML token from, in a standard way?  There is no standard way to do this today, and even standards like WS-Trust don't seem to solve this problem.  For example, you build a client using our web services apis.  You deploy to all our customers.  Customer A has one SAML provider.  Customer B has another SAML provider.  How does your code know where to go to get the token when deployed at customer A and at customer B, without configuring all of the clients with the location of the SAML provider?  &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Benji raises some excellent points here...he's effectively pointing out the issue of discovering a security token service.   What makes this complicated is the security token service in many of Sxip's customers is on a private network, and customers don't wish to expose the url to the general public.  An anonymous discovery service either can't personalize the response to either customer a or b, or you end up exposing sts endpoint locations inside customer a or b.&lt;br /&gt;&lt;br /&gt;Anyone have any ideas on this tricky problem?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-112234742178523639?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/112234742178523639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=112234742178523639' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112234742178523639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112234742178523639'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/07/interesting-post-at-sforce.html' title='Interesting post at sforce'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-112105383090837269</id><published>2005-07-10T20:49:00.000-07:00</published><updated>2005-07-10T20:56:08.020-07:00</updated><title type='text'>damn.</title><content type='html'>&lt;a target="new" href="http://dannydoeschina.com/"&gt;&lt;img src="http://dannydoeschina.com/sections/photodiary/ev7.jpg" width=400&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="new" href="http://dannydoeschina.com/"&gt;&lt;img src="http://dannydoeschina.com/sections/photodiary/ev8.jpg" width=400&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="new" href="http://dannydoeschina.com/"&gt;&lt;img src="http://dannydoeschina.com/sections/photodiary/ev1.jpg" width=400&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="new" href="http://dannydoeschina.com/"&gt;&lt;img src="http://dannydoeschina.com/sections/photodiary/ev2.jpg" width=400&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-112105383090837269?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/112105383090837269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=112105383090837269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112105383090837269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/112105383090837269'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/07/damn.html' title='damn.'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111982703417717528</id><published>2005-06-26T16:00:00.000-07:00</published><updated>2005-06-26T16:03:54.183-07:00</updated><title type='text'>All time favorite barksdale-ism</title><content type='html'>&lt;img src="http://www.speakeasy.org/~cmort/images/barksdale-isms/IMG_4300.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111982703417717528?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111982703417717528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111982703417717528' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111982703417717528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111982703417717528'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/all-time-favorite-barksdale-ism.html' title='All time favorite barksdale-ism'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111941400818376315</id><published>2005-06-21T21:15:00.000-07:00</published><updated>2005-06-21T21:20:08.186-07:00</updated><title type='text'>SOAP Client Widget for Tiger</title><content type='html'>Thought I'd share my little experiment with &lt;a href="http://www.apple.com/downloads/dashboard/"&gt;Dashboard Widgets&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a little &lt;a href="http://www.speakeasy.org/~cmort/SqueekyClean.wdgt.zip"&gt;AJAX Soap Client&lt;/a&gt; - provide the payload for the SOAP body, and it will post a message with wsa:Action and wsse:UserNameToken.   The response is displayed back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111941400818376315?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111941400818376315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111941400818376315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111941400818376315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111941400818376315'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/soap-client-widget-for-tiger.html' title='SOAP Client Widget for Tiger'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111941368430120492</id><published>2005-06-21T21:14:00.000-07:00</published><updated>2005-06-21T21:15:31.813-07:00</updated><title type='text'>Milo's favorite barksdale-ism</title><content type='html'>&lt;img src="http://www.speakeasy.org/~cmort/images/barksdale-isms/IMG_4297.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111941368430120492?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111941368430120492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111941368430120492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111941368430120492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111941368430120492'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/milos-favorite-barksdale-ism.html' title='Milo&apos;s favorite barksdale-ism'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111923318486828103</id><published>2005-06-19T19:00:00.000-07:00</published><updated>2005-06-20T16:21:57.416-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Here's what ended up on the wire</title><content type='html'>This was sent to my service.  As, you can see that InfoCard has automatically created a SAML 1.1 assertion bearing the email address provided in the selected InfoCard.   What's not clear to me is what's going on with the action - its' using a wa-addressing action that is not defined in ws-trust...hmm.   Anyone?   I wish the body weren't mysteriously encryted....  &lt;br /&gt;&lt;br /&gt;[Update: &lt;a href="http://www.ldap.com/1/commentary/wahl/"&gt;Mark Wahl&lt;/a&gt; passed this along&lt;br /&gt;&lt;br /&gt; "When requesting and returning security context tokens the following Action URIs are used&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT"&lt;br /&gt;in WS-SecureConversation Feb '05.&lt;br /&gt;&lt;br /&gt;Thanks Mark! ]&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;POST /simpleservice HTTP/1.1 Content-Type: application/soap+xml; charset="utf-8"; action="http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT" &lt;br /&gt;Host: 192.168.9.11 &lt;br /&gt;Content-Length: 12838 &lt;br /&gt;Expect: 100-continue &lt;br /&gt;Connection: Keep-Alive  &lt;br /&gt;&lt;br /&gt;&amp;lt;s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&amp;gt;&lt;br /&gt;   &amp;lt;s:Header&amp;gt;&lt;br /&gt;      &amp;lt;a:Action u:Id="_1" s:mustUnderstand="1"&amp;gt;http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT&amp;lt;/a:Action&amp;gt;&lt;br /&gt;      &amp;lt;a:MessageID u:Id="_2"&amp;gt;uuid:674467cc-10bd-4bd4-a4b6-fba565035d01;id=0&amp;lt;/a:MessageID&amp;gt;&lt;br /&gt;      &amp;lt;a:To u:Id="_3" s:mustUnderstand="1"&amp;gt;http://192.168.9.10:8080/simpleservice&amp;lt;/a:To&amp;gt;&lt;br /&gt;      &amp;lt;dsig:X509Certificate xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&amp;gt;..../BjHqg==&amp;lt;/dsig:X509Certificate&amp;gt;&lt;br /&gt;      &amp;lt;a:ReplyTo u:Id="_4"&amp;gt;&lt;br /&gt;         &amp;lt;a:Address&amp;gt;http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous&amp;lt;/a:Address&amp;gt;&lt;br /&gt;      &amp;lt;/a:ReplyTo&amp;gt;&lt;br /&gt;      &amp;lt;o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&amp;gt;&lt;br /&gt;         &amp;lt;u:Timestamp u:Id="_0"&amp;gt;&lt;br /&gt;            &amp;lt;u:Created&amp;gt;2005-06-20T00:44:36.734Z&amp;lt;/u:Created&amp;gt;&lt;br /&gt;            &amp;lt;u:Expires&amp;gt;2005-06-21T00:44:36.734Z&amp;lt;/u:Expires&amp;gt;&lt;br /&gt;         &amp;lt;/u:Timestamp&amp;gt;&lt;br /&gt;         &amp;lt;e:EncryptedKey Id="uuid-dfeed4a3-da17-4699-80aa-dad0cccc082e-1" xmlns:e="http://www.w3.org/2001/04/xmlenc#"&amp;gt;&lt;br /&gt;            &amp;lt;e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/&amp;gt;&lt;br /&gt;            &amp;lt;KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;               &amp;lt;o:SecurityTokenReference&amp;gt;&lt;br /&gt;                  &amp;lt;o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/2004/xx/oasis-2004xx-wss-x509-token-profile-1.1#X509ThumbprintSHA1"&amp;gt;nNpk/FqUmDNX8fvv3bk9BVjY0eQ=&amp;lt;/o:KeyIdentifier&amp;gt;&lt;br /&gt;               &amp;lt;/o:SecurityTokenReference&amp;gt;&lt;br /&gt;            &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;            &amp;lt;e:CipherData&amp;gt;&lt;br /&gt;               &amp;lt;e:CipherValue&amp;gt;GlV7KHIY0thaICqbatPYLaSRO4dyXxsR698bm9Po88K3iQpF1TvTC4HPp415eobwvUy7mLpM8XfOKEvfZ3fk0P4FjyXhtxQOnN35D7rCxVrnIu5zZqlNev9HqeqrUW05ocYgTGjD0RIV4XdRoScPiZU96EkzIfc6QsIFhGqo6RQ=&amp;lt;/e:CipherValue&amp;gt;&lt;br /&gt;            &amp;lt;/e:CipherData&amp;gt;&lt;br /&gt;         &amp;lt;/e:EncryptedKey&amp;gt;&lt;br /&gt;         &amp;lt;c:DerivedKeyToken u:Id="_6" xmlns:c="http://schemas.xmlsoap.org/ws/2005/02/sc"&amp;gt;&lt;br /&gt;            &amp;lt;o:SecurityTokenReference&amp;gt;&lt;br /&gt;               &amp;lt;o:Reference URI="#uuid-dfeed4a3-da17-4699-80aa-dad0cccc082e-1"/&amp;gt;&lt;br /&gt;            &amp;lt;/o:SecurityTokenReference&amp;gt;&lt;br /&gt;            &amp;lt;c:Generation&amp;gt;0&amp;lt;/c:Generation&amp;gt;&lt;br /&gt;            &amp;lt;c:Length&amp;gt;32&amp;lt;/c:Length&amp;gt;&lt;br /&gt;            &amp;lt;c:Nonce&amp;gt;z3cSc/jtJ+UCF5CEQ8xsLg==&amp;lt;/c:Nonce&amp;gt;&lt;br /&gt;         &amp;lt;/c:DerivedKeyToken&amp;gt;&lt;br /&gt;         &amp;lt;saml:Assertion MajorVersion="1" MinorVersion="1" AssertionId="uuid-30365992-d9e4-46ad-9443-41b1aa1cc917" Issuer="http://schemas.xmlsoap.org/ws/2004/10/identity/issuer#self" IssueInstant="2005-06-20T00:44:35.718Z" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"&amp;gt;&lt;br /&gt;            &amp;lt;saml:Conditions x:Id="1" NotBefore="2005-06-20T00:44:35.500Z" NotOnOrAfter="2005-06-20T00:54:35.500Z" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://schemas.microsoft.com/2003/10/Serialization/"/&amp;gt;&lt;br /&gt;            &amp;lt;saml:AttributeStatement x:Id="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://schemas.microsoft.com/2003/10/Serialization/"&amp;gt;&lt;br /&gt;               &amp;lt;saml:Subject x:Id="1"&amp;gt;&lt;br /&gt;                  &amp;lt;saml:NameIdentifier x:Id="1" Format="http://schemas.xmlsoap.org/ws/2004/10/identity#KeyThumbprint"&amp;gt;9TGi5d7p2VFFnGtOZ5bmUwbpOJI=&amp;lt;/saml:NameIdentifier&amp;gt;&lt;br /&gt;                  &amp;lt;saml:SubjectConfirmation x:Id="1"&amp;gt;&lt;br /&gt;                     &amp;lt;saml:ConfirmationMethod&amp;gt;urn:oasis:names:tc:SAML:1.0:cm:holder-of-key&amp;lt;/saml:ConfirmationMethod&amp;gt;&lt;br /&gt;                     &amp;lt;KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;                        &amp;lt;KeyValue&amp;gt;&lt;br /&gt;                           &amp;lt;RSAKeyValue&amp;gt;&lt;br /&gt;                              &amp;lt;Modulus&amp;gt;znzfPeulynSTfQRdMtkW3CTzR3G2T3l4YqI6Csdfq4huIEySzeCd1oEZ2aUtG/WjD1ZvgcNkaS8V6JuyU2+XGArNP/szM/KMIYDWa0vSkr1WpM+HUOK58fZXDQWTEaKzWJePMfOjUQefcg3CzK1uj1jM4pAVl6Hpv4862uIdzkWQ5SYV9mKu862Sc5RqF74KggMU3N9BzjPVWBrHzFIvJIQPsUWWRhb57N5qw2GzjPBDxK3ACKdkT/MA08Lnr4hSR/f827Zv363xN1BRinqcrfJE0GVr6/LL11qvZqaKEgd0NRnyKn+IR8VJbtpGMDcR03nZhkHFP87esFOD63zUIQ==&amp;lt;/Modulus&amp;gt;&lt;br /&gt;                              &amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&lt;br /&gt;                           &amp;lt;/RSAKeyValue&amp;gt;&lt;br /&gt;                        &amp;lt;/KeyValue&amp;gt;&lt;br /&gt;                     &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;                  &amp;lt;/saml:SubjectConfirmation&amp;gt;&lt;br /&gt;               &amp;lt;/saml:Subject&amp;gt;&lt;br /&gt;               &amp;lt;saml:Attribute x:Id="1" AttributeName="http://schemas.microsoft.com/ws/2004/10/identity#E-Mail-Address" AttributeNamespace="http://schemas.microsoft.com/ws/2004/10/identity"&amp;gt;&lt;br /&gt;                  &amp;lt;saml:AttributeValue&amp;gt;cmort@sxip.com&amp;lt;/saml:AttributeValue&amp;gt;&lt;br /&gt;               &amp;lt;/saml:Attribute&amp;gt;&lt;br /&gt;            &amp;lt;/saml:AttributeStatement&amp;gt;&lt;br /&gt;            &amp;lt;Signature xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;               &amp;lt;SignedInfo&amp;gt;&lt;br /&gt;                  &amp;lt;CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;Reference URI="#uuid-30365992-d9e4-46ad-9443-41b1aa1cc917"&amp;gt;&lt;br /&gt;                     &amp;lt;Transforms&amp;gt;&lt;br /&gt;                        &amp;lt;Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/&amp;gt;&lt;br /&gt;                        &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                     &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                     &amp;lt;DigestValue&amp;gt;6EgVjHzVJvq5p8wA9CmRAa4428I=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;                  &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;/SignedInfo&amp;gt;&lt;br /&gt;               &amp;lt;SignatureValue&amp;gt;dHIsclXyt4S6/b485/Lw6t/0kAsJX3ctbJAtLZdSKoXiltOKLlOpnwrMESGDv6bwm3SjiadyF56MY0uWg8gqm65y8eO1o269CgQP4YB98LosaBnwzRXx63lzIp44rH6JcaOE0Cqq34P3cf5SxWC3BNaJpLfUbqrTw8wfHKIOxmc4bAaOMLMCV2QScbJQQYt1cE9b/mAtujl1cNzmGuDWVg2XyzwtE6HiPG8KvsgThDnz/ItzU2J9jfWBO7qXNDTM+EJt7LDn26HfixgxHDUm4W+wwxfhLGlER/KcNDWESOezBBd40diKpwIEALjZ/tAgLoGZPmnskFoaSLiDeeHTRQ==&amp;lt;/SignatureValue&amp;gt;&lt;br /&gt;               &amp;lt;KeyInfo&amp;gt;&lt;br /&gt;                  &amp;lt;KeyValue&amp;gt;&lt;br /&gt;                     &amp;lt;RSAKeyValue&amp;gt;&lt;br /&gt;                        &amp;lt;Modulus&amp;gt;znzfPeulynSTfQRdMtkW3CTzR3G2T3l4YqI6Csdfq4huIEySzeCd1oEZ2aUtG/WjD1ZvgcNkaS8V6JuyU2+XGArNP/szM/KMIYDWa0vSkr1WpM+HUOK58fZXDQWTEaKzWJePMfOjUQefcg3CzK1uj1jM4pAVl6Hpv4862uIdzkWQ5SYV9mKu862Sc5RqF74KggMU3N9BzjPVWBrHzFIvJIQPsUWWRhb57N5qw2GzjPBDxK3ACKdkT/MA08Lnr4hSR/f827Zv363xN1BRinqcrfJE0GVr6/LL11qvZqaKEgd0NRnyKn+IR8VJbtpGMDcR03nZhkHFP87esFOD63zUIQ==&amp;lt;/Modulus&amp;gt;&lt;br /&gt;                        &amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&lt;br /&gt;                     &amp;lt;/RSAKeyValue&amp;gt;&lt;br /&gt;                  &amp;lt;/KeyValue&amp;gt;&lt;br /&gt;               &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;            &amp;lt;/Signature&amp;gt;&lt;br /&gt;         &amp;lt;/saml:Assertion&amp;gt;&lt;br /&gt;         &amp;lt;e:ReferenceList xmlns:e="http://www.w3.org/2001/04/xmlenc#"&amp;gt;&lt;br /&gt;            &amp;lt;e:DataReference URI="#_7"/&amp;gt;&lt;br /&gt;         &amp;lt;/e:ReferenceList&amp;gt;&lt;br /&gt;         &amp;lt;Signature xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;            &amp;lt;SignedInfo&amp;gt;&lt;br /&gt;               &amp;lt;CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;               &amp;lt;SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_0"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;t4R8JHI9sfYljoocDZ69/1HoAJU=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_1"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;Q25uUOzeV9Aduvtw9eG9xMMNHrI=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_2"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;f4UZdzH8TQGemsO2i2E+jIa6XDo=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_3"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;QFhRuh49ZnX8S4z8iKi3diz7UDE=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_4"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;zaBQWq9U/zdzkimMsCHucawY8qc=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;               &amp;lt;Reference URI="#_5"&amp;gt;&lt;br /&gt;                  &amp;lt;Transforms&amp;gt;&lt;br /&gt;                     &amp;lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&amp;gt;&lt;br /&gt;                  &amp;lt;/Transforms&amp;gt;&lt;br /&gt;                  &amp;lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&amp;gt;&lt;br /&gt;                  &amp;lt;DigestValue&amp;gt;6am03LAQSO20LZsE07ikNHHAazo=&amp;lt;/DigestValue&amp;gt;&lt;br /&gt;               &amp;lt;/Reference&amp;gt;&lt;br /&gt;            &amp;lt;/SignedInfo&amp;gt;&lt;br /&gt;            &amp;lt;SignatureValue&amp;gt;ZFL4QT1wu4N58VamcSyL4cJxEj3cKBCWEwNR4P06FlLKiCseyVp2SWGe1qciQCUdhZd5zQMcuUTXxlod9uN3HUPQdHZSGvvM2wTLsDnBYL7KQXgO+VHOmupGWIhI+aZiIPq1+IXv9hi5qqFb9hQ6/xB9i0iO5KZFe3bqjt67QrZDgtsFqYLT+GVkdq+4dKf+HTXsXSylm6eS5ce6gpCalTu+6XTB/8eG/kRLxFUXci4CTyipl/NLTqrFmmiln/dzPjeGrskjf2WZdmg8oXw+of46mb04fpWrE3vUqX1lfA7kdCFL3gP0bEiRgiHXOa9PhaQdOt/nt0mzfq3YHwc85w==&amp;lt;/SignatureValue&amp;gt;&lt;br /&gt;            &amp;lt;KeyInfo&amp;gt;&lt;br /&gt;               &amp;lt;o:SecurityTokenReference&amp;gt;&lt;br /&gt;                  &amp;lt;o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID"&amp;gt;uuid-30365992-d9e4-46ad-9443-41b1aa1cc917&amp;lt;/o:KeyIdentifier&amp;gt;&lt;br /&gt;               &amp;lt;/o:SecurityTokenReference&amp;gt;&lt;br /&gt;            &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;         &amp;lt;/Signature&amp;gt;&lt;br /&gt;      &amp;lt;/o:Security&amp;gt;&lt;br /&gt;   &amp;lt;/s:Header&amp;gt;&lt;br /&gt;   &amp;lt;s:Body u:Id="_5"&amp;gt;&lt;br /&gt;      &amp;lt;e:EncryptedData Id="_7" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:e="http://www.w3.org/2001/04/xmlenc#"&amp;gt;&lt;br /&gt;         &amp;lt;e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/&amp;gt;&lt;br /&gt;         &amp;lt;KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"&amp;gt;&lt;br /&gt;            &amp;lt;o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&amp;gt;&lt;br /&gt;               &amp;lt;o:Reference URI="#_6"/&amp;gt;&lt;br /&gt;            &amp;lt;/o:SecurityTokenReference&amp;gt;&lt;br /&gt;         &amp;lt;/KeyInfo&amp;gt;&lt;br /&gt;         &amp;lt;e:CipherData&amp;gt;&lt;br /&gt;            &amp;lt;e:CipherValue&amp;gt;lR2D1YctHtOdkC0bNrfP4BrpIOJkG5GxWVKm+LzkY7+1RKxhpL5IC1Z10ON8Vsg9+B7a7/....qRneyxtQ==&amp;lt;/e:CipherValue&amp;gt;&lt;br /&gt;         &amp;lt;/e:CipherData&amp;gt;&lt;br /&gt;      &amp;lt;/e:EncryptedData&amp;gt;&lt;br /&gt;   &amp;lt;/s:Body&amp;gt;&amp;lt;/s:Envelope&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111923318486828103?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111923318486828103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111923318486828103' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111923318486828103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111923318486828103'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/heres-what-ended-up-on-wire.html' title='Here&apos;s what ended up on the wire'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111922886458771227</id><published>2005-06-19T17:45:00.000-07:00</published><updated>2005-06-19T17:54:24.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Invoking InfoCard</title><content type='html'>With all that out of the way, I finally can invoke my client, and get into the InfoCard interface, as well as take a look at the resulting message enrichement&lt;br /&gt;&lt;br /&gt;When I invoked the client, the first thing it does is validate the Identity of the service using the cert in the addessPropeties.  Assuming validity, the InfoCard UI is invoked.   The first thing you seen is presentation of the relying party, and potentially their terms of service, as well as prompt to either agree to their terms, or cancel the operation.   I wish I had a screen shot, but there doesn't seem to be a simple means to remove a relying party from your trust list, or change its settings.   I expect this will show up in future versions.&lt;br /&gt;&lt;br /&gt;Once I accepted the terms, I'm prompted to select an InfoCard.   This shows the UI for infocard actually being invoked:&lt;br /&gt;&lt;br /&gt;&lt;a target="big" href="http://www.speakeasy.org/~cmort/images/Invoke.png"&gt;&lt;img width=400 src="http://www.speakeasy.org/~cmort/images/Invoke.png"&gt;&lt;br&gt;Click for a larger version&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A few things to notice here&lt;br /&gt;&lt;br /&gt;1) They track which card I've previously presented, and when I did it&lt;br /&gt;2) They track what the relying party already knows about me&lt;br /&gt;&lt;br /&gt;From here, I can choose a card to submit.   This talks to a local STS in the current beta, and generates a SAML assertion, which is used to enrich the SOAP call...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111922886458771227?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111922886458771227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111922886458771227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922886458771227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922886458771227'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/invoking-infocard.html' title='Invoking InfoCard'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111922804212781255</id><published>2005-06-19T17:18:00.000-07:00</published><updated>2005-06-19T17:40:42.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Now the App.config</title><content type='html'>InfoCard ends up getting invoked (at least in the Indigo use cases) via a custom binding in the services configuration file (app.config or web.config depending on selfhosting or was/iis hosted services) &lt;br /&gt;&lt;br /&gt;The config file has 3 main sections required for InfoCard usage.   The first is a custom binding.  The binding section basically describes the protocol indigo will use to expose or talk to services in a declarative fasion.   It ships with a number of default bindings for WS-I basic profile interop, WS-*, as well as some MSFT proprietary binary optimizations.   You do have the ability to define a custom binding which gives you granular control over protocol.   In order to use InfoCard, you seem to need to use a custom binding.   Here is an example:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;bindings&amp;gt;&lt;br /&gt;&amp;lt;customBinding&amp;gt;&lt;br /&gt;&amp;lt;!-- Define custom binding for InfoCard. --&amp;gt;&lt;br /&gt;&amp;lt;binding configurationName="InfoCardBinding"&amp;gt;&lt;br /&gt;&amp;lt;security authenticationMode="IssuedTokenForCertificate" contextMode="Session"&amp;gt;&lt;br /&gt;&amp;lt;federationParameters&amp;gt;&lt;br /&gt;&amp;lt;tokenRequestParameters&amp;gt;&lt;br /&gt;&amp;lt;xmlElement&amp;gt;&lt;br /&gt;&amp;lt;wst:TokenType xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsid="http://schemas.xmlsoap.org/ws/2004/10/identity" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"&amp;gt;urn:oasis:names:tc:SAML:1.0:assertion&amp;lt;/wst:TokenType&amp;gt;&lt;br /&gt;&amp;lt;/xmlElement&amp;gt;&lt;br /&gt;&amp;lt;xmlElement&amp;gt;&lt;br /&gt;&amp;lt;wst:Claims xmlns:wsid="http://schemas.xmlsoap.org/ws/2004/10/identity"  xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"&amp;gt;&lt;br /&gt;&amp;lt;wsid:Claim wsid:URI="http://schemas.microsoft.com/ws/2004/10/identity#E-Mail-Address"/&amp;gt;&lt;br /&gt;&amp;lt;/wst:Claims&amp;gt;&lt;br /&gt;&amp;lt;/xmlElement&amp;gt;&lt;br /&gt;&amp;lt;/tokenRequestParameters&amp;gt;&lt;br /&gt;&amp;lt;/federationParameters&amp;gt;&lt;br /&gt;&amp;lt;/security&amp;gt;&lt;br /&gt;&amp;lt;httpTransport/&amp;gt;&lt;br /&gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;customBinding&amp;gt;&lt;br /&gt;&amp;lt;/bindings&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This basically says that the authentication mode is IssuedTokenForCertificate which I believe indicates "Use InfoCard"    It then designates the parameters which will be passed into the WS-Trust RST - in this case stating that it wants a SAML assertion with email address attribute assertion&lt;br /&gt;&lt;br /&gt;Next, we need special behavior section which is referenced from the endpoint configuration.   This indicates how to find the local certificate to exchange for the SAML assertion.   This required importing the certificate into my local trusted store:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;behavior configurationName="TrustedCredentials" returnUnknownExceptionsAsFaults="true"&amp;gt;&lt;br /&gt;&amp;lt;channelSecurityCredentials&amp;gt;&lt;br /&gt;&amp;lt;serviceX509Certificate findValue="Fabrikam" x509FindType="FindBySubjectName" storeLocation="CurrentUser" storeName="TrustedPeople" /&amp;gt;&lt;br /&gt;&amp;lt;/channelSecurityCredentials&amp;gt;&lt;br /&gt;&amp;lt;/behavior&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It's not yet clear what other credential types can be used - there seem to be many options in the core Indigo APIs, but the authenticationMode of IssuedTokenForCertificate has me a bit concerned others aren't yet supported...&lt;br /&gt;&lt;br /&gt;Finally, a addressProperties section is required:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;addressProperties identityType="Dns" identityData="Fabrikam"&amp;gt;&lt;br /&gt;&amp;lt;endpointHeaders&amp;gt;&lt;br /&gt;&amp;lt;dsig:X509Certificate xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&amp;gt;MIIDwzCCAqu....==&amp;lt;/dsig:X509Certificate&amp;gt;&lt;br /&gt;&amp;lt;/endpointHeaders&amp;gt;&lt;br /&gt;&amp;lt;/addressProperties&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I've got to say I don't understand this at all...or more to the point, don't see how it's viable.   I believe what this is doing is providing the Identity of the service itself.  Since this is statically declared in the clients config, it looks like a huge distribution issue.  I'm sure microsoft must have something else in mind, like fetching this over ws-mex...anyone?&lt;br /&gt;&lt;br /&gt;That pretty much covers what is required for the client and service config files - they're pretty close to the same.   Next, we'll take a look at what happens when we invoke&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111922804212781255?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111922804212781255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111922804212781255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922804212781255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922804212781255'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/now-appconfig.html' title='Now the App.config'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111922656664556479</id><published>2005-06-19T17:13:00.000-07:00</published><updated>2005-06-19T17:17:32.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>And the Simple Indigo Client</title><content type='html'>Next, we need a simple client to go with my service.   &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;using System.Xml;&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;&lt;br /&gt;namespace InfoCardClient&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    //This replicates the services contract - just raw Messages&lt;br /&gt;    [ServiceContract]&lt;br /&gt;    interface IGenericMessageChannel&lt;br /&gt;    {&lt;br /&gt;        [OperationContract(IsOneWay = true, Action = "*")]&lt;br /&gt;        void Send(Message msg);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    class SimpleClient&lt;br /&gt;    {&lt;br /&gt;        public SimpleClient()&lt;br /&gt;        {       &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        void SendMessage(IGenericMessageChannel channel, string input)&lt;br /&gt;        {&lt;br /&gt;            XmlDocument contentDocument;&lt;br /&gt;            contentDocument = new XmlDocument();&lt;br /&gt;            contentDocument.LoadXml("&lt;Ping&gt;" + input + "&lt;/Ping&gt;");&lt;br /&gt;&lt;br /&gt;            XmlNodeReader content = new XmlNodeReader(contentDocument.DocumentElement);&lt;br /&gt;            MessageVersion messageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap11);&lt;br /&gt;&lt;br /&gt;            using (Message msg = Message.CreateMessage(messageVersion, "http://tempuri.org/ISimpleService/Receive", content))&lt;br /&gt;            {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    channel.Send(msg);&lt;br /&gt;                }&lt;br /&gt;                catch (Exception e)&lt;br /&gt;                {&lt;br /&gt;                    Console.WriteLine("Exception: " + e.ToString());&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void Invoke( string input)&lt;br /&gt;        {&lt;br /&gt;            using (ChannelFactory&lt;IGenericMessageChannel&gt; channelFactory =&lt;br /&gt;                        new ChannelFactory&lt;IGenericMessageChannel&gt;("InfoCardClientConfig"))&lt;br /&gt;            {&lt;br /&gt;                channelFactory.Open();&lt;br /&gt;                IGenericMessageChannel channel = channelFactory.CreateChannel();&lt;br /&gt;                SendMessage(channel, input);&lt;br /&gt;                channelFactory.Close();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I call this client from another class which is irrelevant to the InfoCard/Indigo magic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111922656664556479?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111922656664556479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111922656664556479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922656664556479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922656664556479'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/and-simple-indigo-client.html' title='And the Simple Indigo Client'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111922636231924475</id><published>2005-06-19T17:00:00.000-07:00</published><updated>2005-06-19T17:12:42.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>My Simple Indigo Service</title><content type='html'>Now onto some real infocard work.  To begin with, I developed a simple webservice and client using Indigo.   This service basically displays the raw SOAP which it is sent:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;//This is the Indigo namespace&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;using System.Xml;&lt;br /&gt;&lt;br /&gt;namespace InfoCardService&lt;br /&gt;{&lt;br /&gt;    /**&lt;br /&gt;    Here, I'm using an interface to define the service contract.  &lt;br /&gt;    Service contracts are explicit in Indigo, and can be distict&lt;br /&gt;    from application/class level contract as seen here.&lt;br /&gt;    */&lt;br /&gt;    [ServiceContract]&lt;br /&gt;    interface ISimpleService&lt;br /&gt;    {&lt;br /&gt;        //A very raw service - interface accepts low level message type.&lt;br /&gt;        [OperationContract(IsOneWay = true)]&lt;br /&gt;        void Receive(System.ServiceModel.Message msg);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public partial class SimpleService : Form, ISimpleService&lt;br /&gt;    {&lt;br /&gt;        //selfhosting ServiceHost using generics to be types to my implementation&lt;br /&gt;        ServiceHost&lt;SimpleService&gt; sh;&lt;br /&gt;        &lt;br /&gt;        public SimpleService()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void button2_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            sh.Close(); &lt;br /&gt;            Application.Exit();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void Receive(System.ServiceModel.Message msg)&lt;br /&gt;        {&lt;br /&gt;            MessageBox.Show("New Message:\n\n" + msg.ToString());            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void Start()&lt;br /&gt;        {&lt;br /&gt;            sh = new ServiceHost&lt;SimpleService&gt;();&lt;br /&gt;            sh.Open();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            SimpleService service = new SimpleService();&lt;br /&gt;            service.Start();&lt;br /&gt;            Application.EnableVisualStyles();&lt;br /&gt;            Application.Run(service);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111922636231924475?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111922636231924475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111922636231924475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922636231924475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111922636231924475'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/my-simple-indigo-service.html' title='My Simple Indigo Service'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111921813110029819</id><published>2005-06-19T14:42:00.000-07:00</published><updated>2005-06-19T14:59:39.316-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Invoking WS-Trust from Indigo</title><content type='html'>Making a WS-Trust RST Issue call from Indigo is pretty simple.   I defined a custom security binding with a endpoint reference and presto...ws-trust.&lt;br /&gt;&lt;br /&gt;To do this, I added this to the federationParameters section of a custom binding security element:&lt;br /&gt;&lt;br /&gt;&amp;lt;endpoint address="http://192.168.9.10:8080/simpleservice"  bindingConfiguration="WSTrustBinding" bindingSectionName="wsProfileBinding"/&amp;gt;&lt;br /&gt;&lt;br /&gt;I then reference the binding from my client endpoint reference, and when I invoked my client, it makes this call:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;POST /simpleservice HTTP/1.1&lt;br /&gt;Content-Type: application/soap+xml; charset="utf-8" action="http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue"&lt;br /&gt;Host: 192.168.9.11&lt;br /&gt;Content-Length: 1304&lt;br /&gt;Expect: 100-continue&lt;br /&gt;Connection: Keep-Alive&lt;br /&gt;&lt;br /&gt;&amp;lt;s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"&amp;gt;&lt;br /&gt;   &amp;lt;s:Header&amp;gt;&lt;br /&gt;      &amp;lt;a:Action s:mustUnderstand="1"&amp;gt;http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue&amp;lt;/a:Action&amp;gt;&lt;br /&gt;      &amp;lt;a:MessageID&amp;gt;uuid:6e984807-8946-4201-a757-2b6829a5fdb4;id=0&amp;lt;/a:MessageID&amp;gt;&lt;br /&gt;      &amp;lt;a:To s:mustUnderstand="1"&amp;gt;http://192.168.9.10:8080/simpleservice&amp;lt;/a:To&amp;gt;&lt;br /&gt;      &amp;lt;a:ReplyTo&amp;gt;&lt;br /&gt;         &amp;lt;a:Address&amp;gt;http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous&amp;lt;/a:Address&amp;gt;&lt;br /&gt;      &amp;lt;/a:ReplyTo&amp;gt;&lt;br /&gt;   &amp;lt;/s:Header&amp;gt;&lt;br /&gt;   &amp;lt;s:Body&amp;gt;&lt;br /&gt;      &amp;lt;t:RequestSecurityToken Context="uuid-58ae93d3-a412-4ee4-97ab-288bc880b35a-2" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust"&amp;gt;&lt;br /&gt;         &amp;lt;t:RequestType&amp;gt;http://schemas.xmlsoap.org/ws/2005/02/trust/Issue&amp;lt;/t:RequestType&amp;gt;&lt;br /&gt;         &amp;lt;t:BinaryExchange ValueType="http://schemas.microsoft.com/net/2004/07/secext/WS-SPNego"&amp;gt;TlRMTVNTUAABAAAAt4IY4gAAAAAAAAAAAAAAAAAAAAAFAs4OAAAADw==&amp;lt;/t:BinaryExchange&amp;gt;&lt;br /&gt;         &amp;lt;wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"&amp;gt;&lt;br /&gt;            &amp;lt;EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://schemas.microsoft.com/2003/10/Serialization/"&amp;gt;&lt;br /&gt;               &amp;lt;Address&amp;gt;http://192.168.9.10:8080/simpleservice&amp;lt;/Address&amp;gt;&lt;br /&gt;            &amp;lt;/EndpointReference&amp;gt;&lt;br /&gt;         &amp;lt;/wsp:AppliesTo&amp;gt;&lt;br /&gt;         &amp;lt;t:KeySize&amp;gt;256&amp;lt;/t:KeySize&amp;gt;&lt;br /&gt;      &amp;lt;/t:RequestSecurityToken&amp;gt;&lt;br /&gt;   &amp;lt;/s:Body&amp;gt;&amp;lt;/s:Envelope&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Looks to be using a web serivce binding of SPNego by default.  I wish I had a remote STS to play with...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111921813110029819?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111921813110029819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111921813110029819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111921813110029819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111921813110029819'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/invoking-ws-trust-from-indigo.html' title='Invoking WS-Trust from Indigo'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111921123681348289</id><published>2005-06-19T12:51:00.000-07:00</published><updated>2005-06-19T14:22:47.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>The InfoCard API</title><content type='html'>The InfoCard API is pretty straight forward (and I suspect in flux).  There are only really 2 classes to pay attention to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Microsoft.InfoCards.InfoCardClient&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;public static System.ServiceModel.Security.GenericXmlToken &lt;span style="font-weight:bold;"&gt;GetToken&lt;/span&gt;(System.ServiceModel.EndpointAddress endPoint, System.Collections.Generic.IEnumerable&lt;XmlElement&gt; policy, System.Xml.XmlElement requiredRemoteTokenIssuer)&lt;br /&gt;&lt;br /&gt;public static void &lt;span style="font-weight:bold;"&gt;Manage&lt;/span&gt;()&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(Notice no constructor)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Microsoft.InfoCards.InfoCardTokenProvider&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;public override System.IAsyncResult &lt;span style="font-weight:bold;"&gt;BeginGetToken&lt;/span&gt;(System.ServiceModel.EndpointAddress target, System.AsyncCallback callback, object state)&lt;br /&gt;&lt;br /&gt;public override System.ServiceModel.Security.Tokens.SecurityToken &lt;span style="font-weight:bold;"&gt;EndGetToken&lt;/span&gt;(System.IAsyncResult result)&lt;br /&gt;&lt;br /&gt;public override System.ServiceModel.Security.Tokens.SecurityToken &lt;span style="font-weight:bold;"&gt;GetToken&lt;/span&gt;(System.ServiceModel.EndpointAddress target)&lt;br /&gt;&lt;br /&gt;public &lt;span style="font-weight:bold;"&gt;InfoCardTokenProvider&lt;/span&gt;()&lt;br /&gt;&lt;br /&gt;public override bool &lt;span style="font-weight:bold;"&gt;TryApplyIssuedTokenParameters&lt;/span&gt;(System.ServiceModel.Security.IIssuedTokenParameters parameters)&lt;br /&gt;&lt;br /&gt;public override bool &lt;span style="font-weight:bold;"&gt;WillGetTokenCompleteSynchronously&lt;/span&gt;(System.ServiceModel.EndpointAddress target)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Besides that, it's all exceptions:&lt;br /&gt;Microsoft.InfoCards.InfoCardException&lt;br /&gt;Microsoft.InfoCards.NoDefaultCardException&lt;br /&gt;Microsoft.InfoCards.ProvisioningCommunicationException&lt;br /&gt;Microsoft.InfoCards.ServiceNotStartedException&lt;br /&gt;Microsoft.InfoCards.StsCommunicationException&lt;br /&gt;Microsoft.InfoCards.SuppressUIFailedException&lt;br /&gt;Microsoft.InfoCards.UndisclosedClaimException&lt;br /&gt;Microsoft.InfoCards.UnsupportedKeyGenerationTypeException&lt;br /&gt;Microsoft.InfoCards.UntrustedRecipientException&lt;br /&gt;Microsoft.InfoCards.UserCancellationException&lt;br /&gt;&lt;br /&gt;A few other intersting things show up in the Indigo APIs:&lt;br /&gt;&lt;br /&gt;Support for SAML, Kerb, X509, UserName, Windows, and WindowsUserName Tokens&lt;br /&gt;&lt;br /&gt;Looks like support for April 04 and Feb 05 versions of WS-Trust&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111921123681348289?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111921123681348289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111921123681348289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111921123681348289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111921123681348289'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/infocard-api.html' title='The InfoCard API'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111920955206833565</id><published>2005-06-19T12:31:00.000-07:00</published><updated>2005-06-19T12:32:32.073-07:00</updated><title type='text'>Today's barksdale-ism</title><content type='html'>&lt;img src="http://www.speakeasy.org/~cmort/images/barksdale-isms/IMG_4299.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111920955206833565?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111920955206833565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111920955206833565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111920955206833565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111920955206833565'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/todays-barksdale-ism.html' title='Today&apos;s barksdale-ism'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111913652181737235</id><published>2005-06-18T15:48:00.000-07:00</published><updated>2005-06-18T16:23:01.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='infocard'/><title type='text'>Programming InfoCard - part 1.   Invoking the UI</title><content type='html'>Since I'm un-employed this weekend (I'm starting a new job at &lt;a href="http://www.sxip.com"&gt;Sxip Identity&lt;/a&gt; on Monday), I thought I'd sit down and poke around the new Microsoft.InfoCards API and Indigo.&lt;br /&gt;&lt;br /&gt;To start with, I suppose I'd better state up front that I haven't ever used Windows as my primary Desktop OS, and this is my first dive into C# as well.  Fortunately, it seems to be enough of a Java clone that the learning curve is really quick...it feels a lot like Java 1.5.&lt;br /&gt;&lt;br /&gt;Invoking the InfoCard UI:&lt;br /&gt;&lt;br /&gt;My first step was to get the WinFX CTP and VisualStudio Betas installed.   This was pretty straightforward, but make sure you have the latest of each, as there are some linking dependencies in the .NET build that require a specific combination.  Also, I'd recommend the express version of Studio, as the full version is several GB.   &lt;br /&gt;&lt;br /&gt;To start out hacking with InfoCard, I thought I'd simply invoke the InfoCard UI.  The simple way to do this is to hit the ControlPanel -&gt; Digital identities.   (Note that you can start the system by running: net start "InfoCard Service" at the command prompt if the system is not started for you)   The result is the following wireframe UI:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speakeasy.org/~cmort/images/InfoCardUI.png" target="big"&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/InfoCardUI.png" width=400&gt;&lt;BR&gt;&lt;br /&gt;Click for a larger version&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's also quite simple to invoke this via code.   To do so, you can simply use the Manage() method on Microsoft.InfoCards.InfoCardClient.   Simply create a new Console application, and add a reference to the Microsoft.InfoCards assembly.   Then, the following code will invoke the InfoCardUI&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.InfoCards;&lt;br /&gt;&lt;br /&gt;namespace ManageInfoCard&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            InfoCardClient.Manage();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's all it takes to invoke the InfoCard system from code.   More to come....&lt;br /&gt;&lt;br /&gt;While you wait- here are some interesting links on Infocard, and Indigo which I found useful:&lt;br /&gt;&lt;br /&gt;&lt;a target="new" href="http://winfx.msdn.microsoft.com/library/default.asp?url=/library/en-us/indigo_samples/html/500ae328-2ede-4450-9537-a6b27cab220d.asp"&gt;Indigo Docs on Infocard&lt;/a&gt;&lt;br /&gt;&lt;a target="new"  href="http://staff.newtelligence.net/clemensv/PermaLink,guid,5df62c43-67fb-488e-a70e-c29b9055a984.aspx"&gt;A weekend with Indigo&lt;/a&gt;&lt;br /&gt;&lt;a target="new"  href="http://blogs.msdn.com/andyhar/"&gt;Andy's InfoCard Blog&lt;/a&gt;&lt;br /&gt;&lt;a target="new"  href="http://pluralsight.com/blogs/mgudgin/archive/2005/05/09/8123.aspx"&gt;Simple Indigo Client&lt;/a&gt;&lt;br /&gt;&lt;a target="new"  href="http://pluralsight.com/blogs/mgudgin/archive/2005/05/09/8122.aspx"&gt;Simple Indigo Service&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111913652181737235?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111913652181737235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111913652181737235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111913652181737235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111913652181737235'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/programming-infocard-part-1-invoking.html' title='Programming InfoCard - part 1.   Invoking the UI'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111912339667713762</id><published>2005-06-18T12:33:00.000-07:00</published><updated>2005-06-18T12:36:36.680-07:00</updated><title type='text'>Daily Barksdale-ism</title><content type='html'>I recently ran across an old book of Barksdale-isms from Netscape.   I thought I'd share some of the choice ones.&lt;br /&gt;&lt;br /&gt;Today's - The three rules of snakes:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/barksdale-isms/IMG_4290.jpg"&gt;&lt;br&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/barksdale-isms/IMG_4294.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111912339667713762?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111912339667713762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111912339667713762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111912339667713762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111912339667713762'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/daily-barksdale-ism.html' title='Daily Barksdale-ism'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111880855000138292</id><published>2005-06-14T21:07:00.000-07:00</published><updated>2005-06-14T21:09:10.003-07:00</updated><title type='text'>Tsunami!</title><content type='html'>Tsunami Alert in San Francisco - if there is one, it's will hit the bay at 9:24 tonight..&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/tsunami.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111880855000138292?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111880855000138292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111880855000138292' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111880855000138292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111880855000138292'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/tsunami.html' title='Tsunami!'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111868732931203997</id><published>2005-06-13T11:27:00.000-07:00</published><updated>2005-06-13T11:29:45.733-07:00</updated><title type='text'>martha's vineyard</title><content type='html'>Mara and I just got back form a week on MV.   I went a little crazy with the camera, and ended up with &lt;a href="http://www.flickr.com/photos/cmort/sets/450050/show/"&gt;a flickr photoset that's 140+ large&lt;/a&gt;.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111868732931203997?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111868732931203997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111868732931203997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111868732931203997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111868732931203997'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/marthas-vineyard.html' title='martha&apos;s vineyard'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111819630655082803</id><published>2005-06-07T19:02:00.000-07:00</published><updated>2005-06-07T19:05:06.553-07:00</updated><title type='text'>wisco represent</title><content type='html'>My good friend &lt;a href="http://ocupop.com/" target="new"&gt;hamlett&lt;/a&gt; passed along some must haves for proud 'sconies:  &lt;a href="http://illannoy.com/" target="new"&gt;Illannoy.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111819630655082803?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111819630655082803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111819630655082803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111819630655082803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111819630655082803'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/wisco-represent.html' title='wisco represent'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111819607364386964</id><published>2005-06-07T18:59:00.000-07:00</published><updated>2005-06-07T19:01:40.406-07:00</updated><title type='text'>chappaquiddick</title><content type='html'>Congrats to &lt;a href="http://www.flickr.com/photos/cmort/sets/420186/" target="new"&gt;Barrett and Anne&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111819607364386964?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111819607364386964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111819607364386964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111819607364386964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111819607364386964'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/chappaquiddick.html' title='chappaquiddick'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111776885605636156</id><published>2005-06-02T20:19:00.000-07:00</published><updated>2005-06-05T20:42:35.123-07:00</updated><title type='text'>netscape directory...</title><content type='html'>...has finally gone open-source!&lt;br /&gt;&lt;a href="http://directory.fedora.redhat.com/wiki/Main_Page"&gt;&lt;br /&gt;http://directory.fedora.redhat.com/wiki/Main_Page&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;It's refreshing to see something positive coming out of the ashes of Netscape - between embedding IE in Netscape 8, and the low-cost ISP ads...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111776885605636156?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111776885605636156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111776885605636156' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111776885605636156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111776885605636156'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/06/netscape-directory.html' title='netscape directory...'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111750192961322816</id><published>2005-05-30T17:42:00.000-07:00</published><updated>2005-05-30T18:14:01.653-07:00</updated><title type='text'>more traveling with mara</title><content type='html'>I finally got around to putting together &lt;a href="http://www.speakeasy.org/%7Ecmort/video/Mexico.mov" target="new"&gt;a slide show of our recent Mexico trip&lt;/a&gt;.   I just can't say enough nice things about Tulum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111750192961322816?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111750192961322816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111750192961322816' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111750192961322816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111750192961322816'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/more-traveling-with-mara.html' title='more traveling with mara'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111750014195275945</id><published>2005-05-30T17:38:00.000-07:00</published><updated>2005-05-30T18:14:13.726-07:00</updated><title type='text'>triplets.</title><content type='html'>and since I'm being cliche'...&lt;a href="http://www.mntrs.com/video/3.mov" target="new"&gt;three's&lt;/a&gt; a crowd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111750014195275945?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111750014195275945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111750014195275945' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111750014195275945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111750014195275945'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/triplets.html' title='triplets.'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111749990998782540</id><published>2005-05-30T17:36:00.000-07:00</published><updated>2005-05-30T18:14:26.656-07:00</updated><title type='text'>twins.</title><content type='html'>&lt;a href="http://www.speakeasy.org/%7Ecmort/video/the_twins.mov" target="new"&gt;two&lt;/a&gt; is better than one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111749990998782540?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111749990998782540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111749990998782540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749990998782540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749990998782540'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/twins.html' title='twins.'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111749626858580613</id><published>2005-05-30T16:37:00.000-07:00</published><updated>2005-05-30T16:43:39.273-07:00</updated><title type='text'>freak of nature.</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Pembroke_Welsh_Corgi"&gt;According to Wikipedia&lt;/a&gt;, The phrase "cor gi" translates to "dwarf dog" in Welsh.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/cmort/16531486/" title="photo sharing"&gt;&lt;img src="http://photos11.flickr.com/16531486_f5c75a9405_m.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111749626858580613?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111749626858580613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111749626858580613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749626858580613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749626858580613'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/freak-of-nature.html' title='freak of nature.'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111749556244463962</id><published>2005-05-30T16:13:00.000-07:00</published><updated>2005-05-30T16:26:02.450-07:00</updated><title type='text'>metaphysical-graffiti</title><content type='html'>An interesting identity question that I pass on the way to work each day:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/identity.jpg"&gt;&lt;br /&gt;&lt;br /&gt;Given that the artist poses the question in the first person, I tend to trust "me."   As soon as you direct the question from the third person, it's the asserted attributes of the entity that are trusted, and not the entity itself.&lt;br /&gt;&lt;br /&gt;Of course, as the always excellent read of &lt;a href="http://www.i-together.net/weaverluke/weblog.html"&gt;luke razzel's blog&lt;/a&gt; points out, &lt;a href="http://www.i-together.net/weaverluke/2005/05/brfxxccxxmnpcccclllmmnprxvclmnckssqlbb.html"&gt;names can be a bit tricky too&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111749556244463962?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111749556244463962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111749556244463962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749556244463962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111749556244463962'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/metaphysical-graffiti.html' title='metaphysical-graffiti'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111638394655871915</id><published>2005-05-17T19:33:00.000-07:00</published><updated>2005-05-17T19:39:44.003-07:00</updated><title type='text'>france</title><content type='html'>What could be better than &lt;a target="new"  href="http://www.speakeasy.org/~cmort/video/france.mov"&gt;traveling with Mara?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111638394655871915?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111638394655871915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111638394655871915' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111638394655871915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111638394655871915'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/france.html' title='france'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637567185303210</id><published>2005-05-11T12:44:00.000-07:00</published><updated>2005-05-17T17:38:24.040-07:00</updated><title type='text'>mixed media</title><content type='html'>&lt;a href="http://www.lorettalux.de/"&gt;loretta lux.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.go-star.com/framer/winters2.gif"&gt;jonothan winters ( a new member )&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dannyway.com/_videos/worldrecord_line.mov"&gt;danny way.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pdl.warnerbros.com/wbmovies/houseofwax/parishiltonpodcast/Paris_05_04_05.mp3"&gt;paris hilton&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637567185303210?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637567185303210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637567185303210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637567185303210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637567185303210'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/mixed-media.html' title='mixed media'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637558666005502</id><published>2005-05-10T14:56:00.000-07:00</published><updated>2005-05-17T17:54:34.823-07:00</updated><title type='text'>Hey Crackhead!</title><content type='html'>&lt;a href="http://www.paulgraham.com/"&gt;Paul Graham&lt;/a&gt; has &lt;a href="http://www.paulgraham.com/start.html"&gt;3 Simple Rules for building a startup&lt;/a&gt;:   &lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Start with good people&lt;br /&gt;&lt;li&gt;Make something customers actually want&lt;br /&gt;&lt;li&gt;Spend as little money as possible&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;I work in &lt;a href="http://maps.google.com/maps?q=81+Bluxome+St,+San+Francisco,+CA+94107&amp;spn=0.005676,0.009270&amp;t=k&amp;hl=en"&gt;the posterchild facility for Rule #3&lt;/a&gt;...a warehouse attic above a gay porn production facility.&lt;br /&gt;&lt;br /&gt;What I find particularily ironic about this is that A) They seem to be doing a better job of executing on Rule #2, and B) they're called Titan Media.    I mean what are the chances?    Titan Media producing Blue Movies below a software startup called Blue Titan...&lt;br /&gt;&lt;br /&gt;At this point, you're probably wondering what the heck this post has to do with crackheads.   Well...I've come to have a mature understanding of a few of the subtler points of life in SOMA.&lt;br /&gt;&lt;br /&gt;First off, apparently the music in porn is dubbed in &lt;i&gt;after&lt;/i&gt; the movie is made.   This means nothing covering up the uhmm...noise...from below.   This is suprisingly disruptive to the engineering processes, and, when properly timed to coincide with important meetings, an effective deterrent to investment and customer acquisition.  &lt;br /&gt;&lt;br /&gt;The other thing I've learned (at my poor motorcycle's expense) is that, in a pinch, you can &lt;a href="http://www.craigslist.org/about/best/sfo/27499971.html"&gt;smoke crack out of sparkplugs.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This brings us all the way back to rule #1 - start with good people:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.speakeasy.org/~cmort/images/crackhead.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637558666005502?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637558666005502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637558666005502' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637558666005502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637558666005502'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/hey-crackhead.html' title='Hey Crackhead!'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637540187190046</id><published>2005-05-09T00:22:00.000-07:00</published><updated>2005-05-17T19:52:23.903-07:00</updated><title type='text'>Don't Bother Calling Support.</title><content type='html'>I was recently using one of BEA's many SOAP stacks, and discovered that while comprehensive, their documentation isn't actually accurate...a particularily frustrating combination.   &lt;br /&gt;&lt;br /&gt;Lucky for me, I happen to sit next to &lt;a href="https://www.linkedin.com/profile?viewProfile=&amp;key=116342"?&gt;the guy&lt;/a&gt; who used to be in charge of all of them.   He clued me into the site of manoj, who writes the server stack - apparently its where support sends people.&lt;br /&gt;&lt;br /&gt;If you're using web services on weblogic...you'll need this: &lt;a href="http://www.manojc.com/"&gt;http://www.manojc.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637540187190046?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637540187190046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637540187190046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637540187190046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637540187190046'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/dont-bother-calling-support.html' title='Don&apos;t Bother Calling Support.'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637532202052994</id><published>2005-05-09T00:15:00.000-07:00</published><updated>2005-05-30T17:41:37.963-07:00</updated><title type='text'>Negative Assertion</title><content type='html'>Here is an intersting aspect of my digital identity...&lt;a href="http://wcca.wicourts.gov/caseDetails.do?caseNo=1995FO002606&amp;countyNo=13&amp;amp;recordCount=2&amp;amp;offset=0"&gt;online records&lt;/a&gt; of the &lt;a href="http://www.mntrs.com/video/sk8-denver.mov"&gt;skateboarding&lt;/a&gt; ticket I received back in college.  &lt;br /&gt;&lt;br /&gt;I'd be a little scared by this if the State of Wisconsin were at all threatning...that is assuming you're &lt;a href="http://www.cnn.com/2005/TECH/science/04/12/killing.wildcats.ap/"&gt;not a feral house cat&lt;/a&gt;    Ahh....wisco...&lt;br /&gt;&lt;br /&gt;If you're feeling especially geeky today, you can query my &lt;a href="http://wcca.wicourts.gov/soap.xsl"&gt;WI criminal record over SOAP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637532202052994?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637532202052994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637532202052994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637532202052994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637532202052994'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/negative-assertion.html' title='Negative Assertion'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637529152312333</id><published>2005-05-09T00:02:00.000-07:00</published><updated>2005-05-17T17:17:49.150-07:00</updated><title type='text'>Google...Directory Service or Server?</title><content type='html'>Another interesting scientific paper (don't worry - the last for awhile) is the &lt;a href="http://labs.google.com/papers/gfs-sosp2003.pdf"&gt;Google Labs write up on GFS&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;As I read this paper, I was struck with the architectural similarities to &lt;a href="http://www.sun.com/download/index.jsp?cat=Identity%20Management&amp;tab=3&amp;subcat=Directory%20Server"&gt;Directory Server&lt;/a&gt; as well as work we'd done on a system called the "distributor'".   While many Directory servers have reasonably good vertical scaling capacity, there is a certain point where the management functions of a system becomes too fragile, sequential operations take to long, and the  statistically low write volumes (that tend to be a directory design center &amp; increasing liability) still result in large write volumes as a function of a user population.   Deployment of a single physical system, while technically viable, starts failing to meet design constraints in ways which simply aren't an issue at low scale.   Ultimately, decomposition of data into smaller logical "chunks" not only allowed better aggregate write throughput, but also allowed parallelization of time dependent operations (backup, recovery, etc).&lt;br /&gt;&lt;br /&gt;I had a lot of fun working on this with some of my favorite people there - Steve Shoaff and Neil Wilson.  I hope that Sun let's this loose. - in the meantime, read about GFS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637529152312333?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637529152312333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637529152312333' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637529152312333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637529152312333'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/googledirectory-service-or-server.html' title='Google...Directory Service or Server?'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9265269.post-111637504868516075</id><published>2005-05-08T23:36:00.000-07:00</published><updated>2005-05-17T17:17:22.446-07:00</updated><title type='text'>Stand near the edge...</title><content type='html'>Here's an intesting read on &lt;a href="http://gsbwww.uchicago.edu/fac/ronald.burt/research/SHGI.pdf&lt;br /&gt;"&gt;how ideas emerge from holes.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;So, why's this the first post to my blog?  &lt;br /&gt;&lt;br /&gt;Having spent 5 years in the IdM industry, and having done so at one company (err...3?  Netscape/iPlanet/Sun? ), I recently decided to jump through a structural hole, and see what was on the other side.   As it turns out, it was a small &lt;a href="http://www.bluetitan.com"&gt;SOA startup&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;8 months later I've decided to jump on the bandwagon, and I've decided to call my blog xmldap  - a nice hybred between my old and new industries, which is what I intend to write about...I hope you enjoy.&lt;br /&gt;&lt;br /&gt;The paper itself does a nice job articulating (and partially quantifying) the intangible social capital assigned to social supernodes  (see the &lt;a href="http://www.ldap.com/1/commentary/wahl/20050201_01.shtml"&gt;6 degrees&lt;/a&gt; of &lt;a href="http://blogs.sun.com/roller/page/wizidm"&gt;bowen&lt;/a&gt; ).  As the new generation of &lt;a href="http://www.identityblog.com/2005/05/06.html#a215"&gt;emergent identity systems&lt;/a&gt; gets designed, we must provide for liberal acceptance of tokens/assertions/claims.    Physical manifestations of social networks like &lt;a href="https://www.linkedin.com/profile?viewProfile=&amp;key=825448"&gt;LinkedIn&lt;/a&gt; have tremendous potential as transitive "trust" overlays...picture a &lt;a href="http://www.pgpi.org/doc/pgpintro/#p20"&gt;Web of Trust&lt;/a&gt; model without key management.   Some powerful Identity claims exist in untapped form (eBay reputation, social webs, etc ) - as in any good protocol design,  let's be liberal with what we accept.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9265269-111637504868516075?l=xmldap.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmldap.blogspot.com/feeds/111637504868516075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9265269&amp;postID=111637504868516075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637504868516075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9265269/posts/default/111637504868516075'/><link rel='alternate' type='text/html' href='http://xmldap.blogspot.com/2005/05/stand-near-edge_08.html' title='Stand near the edge...'/><author><name>cmort</name><uri>http://www.blogger.com/profile/07365195237862694751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos10.flickr.com/buddyicons/18119196@N00.jpg?1115549486'/></author><thr:total>0</thr:total></entry></feed>
