<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DU8NSHw_eCp7ImA9WhRUEk8.&quot;"><id>tag:blogger.com,1999:blog-37220752</id><updated>2012-01-22T11:24:59.240+01:00</updated><category term="clickonce" /><category term="security token" /><category term="DigitalMe" /><category term="AES" /><category term="livehttpheaders" /><category term="Firefox plugin" /><category term="Trust Center" /><category term="bug" /><category term="InclusiveNamespaces" /><category term="robot" /><category term="iiw2009a" /><category term="fun communications" /><category term="UI" /><category term="layalty system" /><category term="Berlin" /><category term="privacy" /><category term="IIW IIW2007b identity" /><category term="cmort" /><category term="identity selector" /><category term="identity selector selector" /><category term="healthvault" /><category term="asn.1 to java" /><category term="web2.0 summit" /><category term="&quot;off topic&quot; xkcd comic" /><category term="data portability" /><category term="extension" /><category term="spam" /><category term="U-Prove" /><category term="FriendsWithCards" /><category term="subject confirmation" /><category term="license" /><category term="video" /><category term="Information Card Foundation" /><category term="enabler" /><category term="xhtml" /><category term="maowberlin09" /><category term="eic" /><category term="CS4FF" /><category term="liberty alliance" /><category term="extended validation certificates" /><category term="multifactor" /><category term="google wave" /><category term="catalyst09" /><category term="information card" /><category term="OpenId" /><category term="Salesforce" /><category term="iiw2009b" /><category term="icf" /><category term="java" /><category term="authentication" /><category term="xsd" /><category term="user agent" /><category term="ooTao" /><category term="nfc" /><category term="codeswarm" /><category term="plugin2" /><category term="ADFS" /><category term="Kantara" /><category term="CeBIT" /><category term="id selector advertising" /><category term="iiw8" /><category term="vrm" /><category term="CardSpace openinfocard firefox extension" /><category term="reputation management" /><category term="datasharing summit" /><category term="j2me" /><category term="The Laws of Identity" /><category term="iPhone" /><category term="Azigo" /><category term="compatibility" /><category term="hexbug" /><category term="electronic signature" /><category term="osis" /><category term="IdentitySelector" /><category term="information card image" /><category term="geneva" /><category term="G1" /><category term="firefox mobile" /><category term="CardSpace 1.5" /><category term="IdP" /><category term="relationship management" /><category term="holder-of-key" /><category term="Deutsche Telekom" /><category term="Online Communities" /><category term="verisign" /><category term="crypto" /><category term="json" /><category term="lame++" /><category term="google" /><category term=".NET" /><category term="eID" /><category term="cyberspace" /><category term="tile" /><category term="weave" /><category term="geopriv" /><category term="rsa2008" /><category term="web guide" /><category term="account manager" /><category term="Microsoft" /><category term="cardstore" /><category term="rsa" /><category term="ISO" /><category term="teletrust" /><category term="iiw2008b" /><category term="no-SSL" /><category term="IDIB" /><category term="consent" /><category term="CardSpace4Firefox" /><category term="identity bus" /><category term="event" /><category term="BurtonGroupCatalyst07 xmldap openinfocard identity interop" /><category term="ssosummit" /><category term="user centric identity" /><category term="developer garden" /><category term="perpetual-motion" /><category term="voice search" /><category term="drag and drop" /><category term="logo" /><category term="FAT" /><category term="java firefox plugin" /><category term="bearer" /><category term="unlinkability" /><category term="opensource" /><category term="plugin" /><category term="dotNET" /><category term="KeeLoq" /><category term="openid connect" /><category term="opengovernment opengov" /><category term="open identity" /><category term="xauth" /><category term="off topic" /><category term="idtbd" /><category term="&quot;IDDY 2007&quot; openinfocard" /><category term="web2.0 expo europe" /><category term="id selector" /><category term="SSL" /><category term="Fraunhofer Fokus" /><category term="xbl" /><category term="ENISA" /><category term="rsa2009" /><category term="ceremony" /><category term="xsd to asn.1" /><category term="snake oil" /><category term="social network" /><category term="Microsoft tags" /><category term="periodic table" /><category term="personas" /><category term="openinfocard" /><category term="Identity TTL" /><category term="metasystem" /><category term="cisa" /><category term="cissp" /><category term="startup" /><category term="relyingparty" /><category term="easter-egg" /><category term="codeplex" /><category term="Mobile Monday" /><category term="Momo" /><category term="NSAPI" /><category term="brown bag" /><category term="iPhone CardSpace &quot;Bandit Project&quot; openinfocard" /><category term="Google Chrome" /><category term="OSIS PIP verisignlabs &quot;laws of identity&quot; xmldap &quot;id selector&quot;" /><category term="open government" /><category term="rsac" /><category term="speaker verification" /><category term="mime-handler" /><category term="Klaatu brada nikto" /><category term="identity" /><category term="openinfocard firefox extension &quot;Kevin Miller&quot;" /><category term="iiw2008a" /><category term="gender" /><category term="telco" /><category term="keystore" /><category term="facebook jvsmith" /><category term="problem" /><category term="openinfocard drag'n'drop user-centric" /><category term="mobile" /><category term="interop" /><category term="concordia" /><category term=".net3.5" /><category term="Novell" /><category term="identity management" /><category term="html5" /><category term="ASN.1" /><category term="Standards" /><category term="datasharing" /><category term="cyberspace policy" /><category term="BarCamp" /><category term="bsi" /><category term="proprietary crypto" /><category term="open source" /><category term="eic2008" /><category term="Information Cards" /><category term="firefox" /><category term="location" /><category term="dss2008" /><category term="PDC2008" /><category term="XPCOM" /><category term="css" /><category term="ActiveX" /><category term="e4x" /><category term="r-cards" /><category term="sun" /><category term="quillp" /><category term="microformat" /><category term="link" /><category term="ip location" /><category term="ISIP" /><category term="eic2009" /><category term="yhoo" /><category term="eclipse" /><category term="DIDW" /><category term="windows mobile" /><category term="didw2008" /><category term="IRM" /><category term="openinfocard firefox extension" /><category term="humor" /><category term="xml" /><category term="IE7" /><category term="magic wand" /><category term="midlet" /><category term="html object" /><category term="higgins" /><category term="controls" /><category term="cardspace geneva" /><category term="security" /><category term="german language" /><category term="xrds" /><category term="age verification" /><category term="Sun Microsystems" /><category term="elf" /><category term="toolbar" /><category term="federation" /><category term="WS-Trust" /><category term="SSO" /><category term="DIDW2007" /><category term=".net3" /><category term="internet identity workshop" /><category term="CardSpace" /><category term="SAML" /><category term="oracle" /><category term="LDAP" /><category term="t-home" /><category term="&quot;sign midlet&quot; midlet j2me &quot;code signing&quot; &quot;intermediate  certificate&quot;" /><category term="icardie.dll" /><category term="claims" /><category term="single-sign-on" /><category term="geolocation" /><category term="local chapter" /><category term="rsa2" /><category term="GPS" /><category term="certificate" /><category term="probile" /><category term="selector" /><category term="fun" /><category term="active client" /><category term="id selector selector" /><category term="bugzilla" /><category term="variable claim" /><category term="xmldap &quot;id selector&quot; openidcard sxip SAML" /><category term="Avoco" /><category term="wiki" /><category term="javascript" /><category term="trust" /><category term="smartcard" /><category term="iiw2010a" /><category term="reputation" /><category term="informationcard  openinfocard" /><category term="map" /><category term="glassfish" /><category term="relying party" /><category term="firefox3" /><category term="Firefix" /><category term="identity metasystem" /><category term="conference" /><category term="paymentCard" /><category term="identropy" /><category term="sex" /><category term="eternal optimist" /><category term="Kim Cameron" /><category term="STS" /><category term="wordle" /><category term="python" /><category term="firefox4" /><category term="deep dive" /><category term="bandit project" /><category term="claims informationcard" /><category term="WLAN" /><category term="oauth" /><category term="civicloc" /><category term="iiw" /><category term="Android" /><category term="wave" /><category term="addon" /><category term="IMI" /><category term="developer phone" /><category term="Yahoo" /><category term="untracebility" /><category term="pageaction" /><category term="fennec" /><category term="Firefox extension" /><category term="apache" /><category term="msft" /><category term="iiw2007b" /><category term="recommendation" /><category term="multiple claims" /><category term="xmldap" /><category term="opensso" /><category term="trustbearer" /><category term="OASIS" /><category term="openinfocard.org" /><category term="rsac2010US" /><category term="information card icon" /><category term="openinfocard interop" /><category term="ISIP1.5" /><category term="Symbian" /><category term="&quot;id selector&quot; java openinfocard signature" /><category term="Open Source Projects" /><category term="keytool" /><category term="openifnocard" /><category term="minimal disclosure token" /><category term="pingidentity" /><category term="jobs" /><category term="xml schema" /><category term="search" /><category term="IDM" /><category term="Credentica" /><category term="eGovernment" /><category term="IE" /><category term="mozilla" /><category term="infocard" /><category term="informationcard" /><category term="metadata" /><category term="identity theft" /><category term="xmldap infocard sts relyingparty" /><category term="merger" /><category term="DIDW DIDW2007" /><title>ignisvulpis</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ignisvulpis.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>282</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Ignisvulpis" /><feedburner:info uri="ignisvulpis" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU8NSHw8fCp7ImA9WhRUEk8.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-7552545257765306536</id><published>2012-01-22T11:24:00.003+01:00</published><updated>2012-01-22T11:24:59.274+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T11:24:59.274+01:00</app:edited><title>OpenID Connect Test Servers</title><content type="html">&lt;br /&gt;Here are some experimental &lt;a href="http://openid.net/connect/"&gt;OpenID Connect&lt;/a&gt; server configurations:&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;b&gt;https://connect-op.heroku.com/.well-known/openid-configuration&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt; &lt;/pre&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-1"&gt;{&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-2"&gt;"version"&lt;/span&gt;&lt;span class="sColon" id="s-3"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-4"&gt;"3.0"&lt;/span&gt;&lt;span class="sComma" id="s-5"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-6"&gt;"issuer"&lt;/span&gt;&lt;span class="sColon" id="s-7"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-8"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-9"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-10"&gt;"authorization_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-11"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-12"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/authorizations/new" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/authorizations/new&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-13"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-14"&gt;"token_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-15"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-16"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/access_tokens" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/access_tokens&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-17"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-18"&gt;"userinfo_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-19"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-20"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/user_info" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/user_info&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-21"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-22"&gt;"check_id_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-23"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-24"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/id_token" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/id_token&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-25"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-26"&gt;"registration_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-27"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-28"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/connect/client" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/connect/client&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-29"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-30"&gt;"scopes_supported"&lt;/span&gt;&lt;span class="sColon" id="s-31"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-32"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-33"&gt;"openid"&lt;/span&gt;&lt;span class="sComma" id="s-34"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-35"&gt;"profile"&lt;/span&gt;&lt;span class="sComma" id="s-36"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-37"&gt;"email"&lt;/span&gt;&lt;span class="sComma" id="s-38"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-39"&gt;"address"&lt;/span&gt;&lt;span class="sComma" id="s-40"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-41"&gt;"PPID"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-42"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-43"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-44"&gt;"response_types_supported"&lt;/span&gt;&lt;span class="sColon" id="s-45"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-46"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-47"&gt;"code"&lt;/span&gt;&lt;span class="sComma" id="s-48"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-49"&gt;"token"&lt;/span&gt;&lt;span class="sComma" id="s-50"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-51"&gt;"id_token"&lt;/span&gt;&lt;span class="sComma" id="s-52"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-53"&gt;"code&amp;nbsp;token"&lt;/span&gt;&lt;span class="sComma" id="s-54"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-55"&gt;"code&amp;nbsp;id_token"&lt;/span&gt;&lt;span class="sComma" id="s-56"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-57"&gt;"id_token&amp;nbsp;token"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-58"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-59"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-60"&gt;"user_id_types_supported"&lt;/span&gt;&lt;span class="sColon" id="s-61"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-62"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-63"&gt;"public"&lt;/span&gt;&lt;span class="sComma" id="s-64"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-65"&gt;"pairwise"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-66"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-67"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-68"&gt;"x509_url"&lt;/span&gt;&lt;span class="sColon" id="s-69"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-70"&gt;"&lt;a class="vglnk" href="https://connect-op.heroku.com/cert.pem" rel="nofollow" title="Link added by VigLink"&gt;https://connect-op.heroku.com/cert.pem&lt;/a&gt;"&lt;/span&gt;
&lt;span class="sBrace structure-1" id="s-71"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;b&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;https://openidconnect.info/.well-known/openid-configuration&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-1"&gt;{&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-2"&gt;"version"&lt;/span&gt;&lt;span class="sColon" id="s-3"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-4"&gt;"3.0"&lt;/span&gt;&lt;span class="sComma" id="s-5"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-6"&gt;"issuer"&lt;/span&gt;&lt;span class="sColon" id="s-7"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-8"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-9"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-10"&gt;"authorization_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-11"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-12"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/connect/authorize" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/connect/authorize&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-13"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-14"&gt;"token_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-15"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-16"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/connect/token" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/connect/token&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-17"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-18"&gt;"user_info_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-19"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-20"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/connect/userinfo" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/connect/userinfo&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-21"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-22"&gt;"check_id_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-23"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-24"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/connect/check_session" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/connect/check_session&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-25"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-26"&gt;"registration_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-27"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-28"&gt;"&lt;a class="vglnk" href="https://openidconnect.info/connect/register" rel="nofollow" title="Link added by VigLink"&gt;https://openidconnect.info/connect/register&lt;/a&gt;"&lt;/span&gt;&lt;span class="sComma" id="s-29"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-30"&gt;"scopes_supported"&lt;/span&gt;&lt;span class="sColon" id="s-31"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-32"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-33"&gt;"openid"&lt;/span&gt;&lt;span class="sComma" id="s-34"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-35"&gt;"profile"&lt;/span&gt;&lt;span class="sComma" id="s-36"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-37"&gt;"email"&lt;/span&gt;&lt;span class="sComma" id="s-38"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-39"&gt;"address"&lt;/span&gt;&lt;span class="sComma" id="s-40"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-41"&gt;"PPID"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-42"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-43"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-44"&gt;"flows_supported"&lt;/span&gt;&lt;span class="sColon" id="s-45"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-46"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-47"&gt;"code"&lt;/span&gt;&lt;span class="sComma" id="s-48"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-49"&gt;"token"&lt;/span&gt;&lt;span class="sComma" id="s-50"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-51"&gt;"code&amp;nbsp;id_token"&lt;/span&gt;&lt;span class="sComma" id="s-52"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-53"&gt;"token&amp;nbsp;id_token"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-54"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-55"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-56"&gt;"identifiers_supported"&lt;/span&gt;&lt;span class="sColon" id="s-57"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-58"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-59"&gt;"public"&lt;/span&gt;&lt;span class="sComma" id="s-60"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-61"&gt;"ppid"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-62"&gt;]&lt;/span&gt;
&lt;span class="sBrace structure-1" id="s-63"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;&lt;b&gt;https://connect.openid4.us/.well-known/openid-configuration&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-1"&gt;{&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-2"&gt;"version"&lt;/span&gt;&lt;span class="sColon" id="s-3"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-4"&gt;"3.0"&lt;/span&gt;&lt;span class="sComma" id="s-5"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-6"&gt;"issuer"&lt;/span&gt;&lt;span class="sColon" id="s-7"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-8"&gt;"https:\/\/connect.openid4.us"&lt;/span&gt;&lt;span class="sComma" id="s-9"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-10"&gt;"authorization_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-11"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-12"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/auth"&lt;/span&gt;&lt;span class="sComma" id="s-13"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-14"&gt;"token_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-15"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-16"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/token"&lt;/span&gt;&lt;span class="sComma" id="s-17"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-18"&gt;"userinfo_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-19"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-20"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/userinfo"&lt;/span&gt;&lt;span class="sComma" id="s-21"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-22"&gt;"check_id_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-23"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-24"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/check_id"&lt;/span&gt;&lt;span class="sComma" id="s-25"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-26"&gt;"refresh_session_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-27"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-28"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/refreshsession"&lt;/span&gt;&lt;span class="sComma" id="s-29"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-30"&gt;"end_session_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-31"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-32"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/endsession"&lt;/span&gt;&lt;span class="sComma" id="s-33"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-34"&gt;"jwk_url"&lt;/span&gt;&lt;span class="sColon" id="s-35"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-36"&gt;"https:\/\/connect.openid4.us\/connect4us.jwk"&lt;/span&gt;&lt;span class="sComma" id="s-37"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-38"&gt;"jwk_encryption_url"&lt;/span&gt;&lt;span class="sColon" id="s-39"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-40"&gt;"https:\/\/connect.openid4.us\/connect4us.jwk"&lt;/span&gt;&lt;span class="sComma" id="s-41"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-42"&gt;"x509_url"&lt;/span&gt;&lt;span class="sColon" id="s-43"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-44"&gt;"https:\/\/connect.openid4.us\/connect4us.pem"&lt;/span&gt;&lt;span class="sComma" id="s-45"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-46"&gt;"x509_encryption_url"&lt;/span&gt;&lt;span class="sColon" id="s-47"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-48"&gt;"https:\/\/connect.openid4.us\/connect4us.pem"&lt;/span&gt;&lt;span class="sComma" id="s-49"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-50"&gt;"registration_endpoint"&lt;/span&gt;&lt;span class="sColon" id="s-51"&gt;:&lt;/span&gt;&lt;span class="sObjectV" id="s-52"&gt;"https:\/\/connect.openid4.us\/abop\/op.php\/registration"&lt;/span&gt;&lt;span class="sComma" id="s-53"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-54"&gt;"scopes_supported"&lt;/span&gt;&lt;span class="sColon" id="s-55"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-56"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-57"&gt;"openid"&lt;/span&gt;&lt;span class="sComma" id="s-58"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-59"&gt;"profile"&lt;/span&gt;&lt;span class="sComma" id="s-60"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-61"&gt;"email"&lt;/span&gt;&lt;span class="sComma" id="s-62"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-63"&gt;"address"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-64"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-65"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-66"&gt;"response_types_supported"&lt;/span&gt;&lt;span class="sColon" id="s-67"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-68"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-69"&gt;"code"&lt;/span&gt;&lt;span class="sComma" id="s-70"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-71"&gt;"token"&lt;/span&gt;&lt;span class="sComma" id="s-72"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-73"&gt;"id_token"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-74"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-75"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-76"&gt;"acrs_supported"&lt;/span&gt;&lt;span class="sColon" id="s-77"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-78"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-79"&gt;"http:\/\/www.idmanagement.gov\/schema\/2009\/05\/icam\/openid-trust-level1.pdf"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-80"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-81"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-82"&gt;"user_id_types_supported"&lt;/span&gt;&lt;span class="sColon" id="s-83"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-84"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-85"&gt;"public"&lt;/span&gt;&lt;span class="sComma" id="s-86"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-87"&gt;"pairwise"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-88"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-89"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-90"&gt;"userinfo_algs_supported"&lt;/span&gt;&lt;span class="sColon" id="s-91"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-92"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-93"&gt;"HS256"&lt;/span&gt;&lt;span class="sComma" id="s-94"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-95"&gt;"RS256"&lt;/span&gt;&lt;span class="sComma" id="s-96"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-97"&gt;"A128CBC"&lt;/span&gt;&lt;span class="sComma" id="s-98"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-99"&gt;"A256CBC"&lt;/span&gt;&lt;span class="sComma" id="s-100"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-101"&gt;"A128KW"&lt;/span&gt;&lt;span class="sComma" id="s-102"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-103"&gt;"RSA1_5"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-104"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-105"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-106"&gt;"id_token_algs_supported"&lt;/span&gt;&lt;span class="sColon" id="s-107"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-108"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-109"&gt;"HS256"&lt;/span&gt;&lt;span class="sComma" id="s-110"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-111"&gt;"RS256"&lt;/span&gt;&lt;span class="sComma" id="s-112"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-113"&gt;"A128CBC"&lt;/span&gt;&lt;span class="sComma" id="s-114"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-115"&gt;"A256CBC"&lt;/span&gt;&lt;span class="sComma" id="s-116"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-117"&gt;"A128KW"&lt;/span&gt;&lt;span class="sComma" id="s-118"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-119"&gt;"RSA1_5"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-120"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-121"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-122"&gt;"request_object_algs_supported"&lt;/span&gt;&lt;span class="sColon" id="s-123"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-124"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-125"&gt;"HS256"&lt;/span&gt;&lt;span class="sComma" id="s-126"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-127"&gt;"RS256"&lt;/span&gt;&lt;span class="sComma" id="s-128"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-129"&gt;"A128CBC"&lt;/span&gt;&lt;span class="sComma" id="s-130"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-131"&gt;"A256CBC"&lt;/span&gt;&lt;span class="sComma" id="s-132"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-133"&gt;"A128KW"&lt;/span&gt;&lt;span class="sComma" id="s-134"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-135"&gt;"RSA1_5"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-136"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-137"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-138"&gt;"token_endpoint_auth_types_supported"&lt;/span&gt;&lt;span class="sColon" id="s-139"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-140"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-141"&gt;"client_secret_post"&lt;/span&gt;&lt;span class="sComma" id="s-142"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-143"&gt;"client_secret_basic"&lt;/span&gt;&lt;span class="sComma" id="s-144"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-145"&gt;"client_secret_jwt"&lt;/span&gt;&lt;span class="sComma" id="s-146"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-147"&gt;"private_key_jwt"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-148"&gt;]&lt;/span&gt;&lt;span class="sComma" id="s-149"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sObjectK" id="s-150"&gt;"token_endpoint_auth_algs_supported"&lt;/span&gt;&lt;span class="sColon" id="s-151"&gt;:&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-152"&gt;[&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-153"&gt;"HS256"&lt;/span&gt;&lt;span class="sComma" id="s-154"&gt;,&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sArrayV" id="s-155"&gt;"RS256"&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="sBracket structure-2" id="s-156"&gt;]&lt;/span&gt;
&lt;span class="sBrace structure-1" id="s-157"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;b&gt;&lt;span class="sBrace structure-1" id="s-157"&gt;&amp;nbsp;Happy testing!&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-157"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="sBrace structure-1" id="s-71"&gt;&amp;nbsp;&lt;/span&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-7552545257765306536?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/7ISE9Z-6Kt8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/7552545257765306536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=7552545257765306536" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7552545257765306536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7552545257765306536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/7ISE9Z-6Kt8/openid-connect-test-servers.html" title="OpenID Connect Test Servers" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2012/01/openid-connect-test-servers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcGSXc7cCp7ImA9WhdUEEk.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-8543711162243059104</id><published>2011-09-26T16:23:00.000+02:00</published><updated>2011-09-26T16:23:48.908+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-26T16:23:48.908+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pageaction" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenId" /><category scheme="http://www.blogger.com/atom/ns#" term="fennec" /><category scheme="http://www.blogger.com/atom/ns#" term="toolbar" /><category scheme="http://www.blogger.com/atom/ns#" term="firefox mobile" /><title>Stackoverflow.com OpenID for Firefox Mobile Login</title><content type="html">The version 1.2.1 of &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/versions/"&gt;OpenID for Firefox Mobile&lt;/a&gt; works on more web pages .e.g. &lt;a href="http://stackoverflow.com/"&gt;stackoverflow.com&lt;/a&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mR21GvXDyM4/ToCJE0uFBJI/AAAAAAAABYo/0N97ruVcHqQ/s1600/stackoverflow-login-page.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-mR21GvXDyM4/ToCJE0uFBJI/AAAAAAAABYo/0N97ruVcHqQ/s320/stackoverflow-login-page.png" width="192" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Stackoverflow.com login&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
You can either use the toolbar icon to start the OpenID flow
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JfEY789ASfI/ToCJD8qXTmI/AAAAAAAABYg/k0dDccdJK3o/s1600/openid-toolbar.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-JfEY789ASfI/ToCJD8qXTmI/AAAAAAAABYg/k0dDccdJK3o/s320/openid-toolbar.png" width="192" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;OpenID for Firefox Mobile toolbar icon&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
or you can use the page action to start the OpenID flow.
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9HQJgOmA6-A/ToCJEpHeK3I/AAAAAAAABYk/_vpOQaTwro0/s1600/pageaction.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-9HQJgOmA6-A/ToCJEpHeK3I/AAAAAAAABYk/_vpOQaTwro0/s320/pageaction.png" width="192" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;OpenID for Firefox Mobile page action&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-R-lswYl_1Bs/ToCJDYcePoI/AAAAAAAABYc/5-AVqDzvmiA/s1600/google-accounts.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-R-lswYl_1Bs/ToCJDYcePoI/AAAAAAAABYc/5-AVqDzvmiA/s320/google-accounts.png" width="192" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Google Accounts Authorization&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5PuYKQxksDk/ToCJC49RgTI/AAAAAAAABYY/EiOVPK2I96A/s1600/confirm.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-5PuYKQxksDk/ToCJC49RgTI/AAAAAAAABYY/EiOVPK2I96A/s320/confirm.png" width="192" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Stackoverflow.com account creation&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-8543711162243059104?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/K0sfjngmkyY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/8543711162243059104/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=8543711162243059104" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8543711162243059104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8543711162243059104?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/K0sfjngmkyY/stackoverflowcom-openid-for-firefox.html" title="Stackoverflow.com OpenID for Firefox Mobile Login" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-mR21GvXDyM4/ToCJE0uFBJI/AAAAAAAABYo/0N97ruVcHqQ/s72-c/stackoverflow-login-page.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/09/stackoverflowcom-openid-for-firefox.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIBQX4_eip7ImA9WhdVFE4.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-7725318782528500396</id><published>2011-09-19T13:59:00.000+02:00</published><updated>2011-09-19T13:59:10.042+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-19T13:59:10.042+02:00</app:edited><title>n dimensional Ping Space</title><content type="html">&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WT4zkcnEVG4/TncuB2oKOlI/AAAAAAAABVg/ZjmF22enAWY/s1600/ping+space.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="276" src="http://1.bp.blogspot.com/-WT4zkcnEVG4/TncuB2oKOlI/AAAAAAAABVg/ZjmF22enAWY/s640/ping+space.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Ping Space&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In response to &lt;a href="http://connectid.blogspot.com/2011/09/new-line-of-greeting-cards.html"&gt;http://connectid.blogspot.com/2011/09/new-line-of-greeting-cards.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-7725318782528500396?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/gEvTTKFrJOU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/7725318782528500396/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=7725318782528500396" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7725318782528500396?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7725318782528500396?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/gEvTTKFrJOU/n-dimensional-ping-space.html" title="n dimensional Ping Space" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-WT4zkcnEVG4/TncuB2oKOlI/AAAAAAAABVg/ZjmF22enAWY/s72-c/ping+space.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/09/n-dimensional-ping-space.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4GR3g6fCp7ImA9WhdWGUQ.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-7826748658257407501</id><published>2011-09-14T12:42:00.000+02:00</published><updated>2011-09-14T12:42:06.614+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-14T12:42:06.614+02:00</app:edited><title>OpenID for Firefox Mobile Android</title><content type="html">OpenID for Firefox is now available for&lt;a href="https://wiki.mozilla.org/Mobile/Platforms/Android"&gt; Firefox Mobile&lt;/a&gt; (Fennec) on Android.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This screenshot shows the OpenID icon in the toolbar. Tapping the icon inserts the preferred OpenID into the OpenID input field.
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--hFmwTB_ryQ/TnB3F_2DF9I/AAAAAAAABSU/RWfPz8GkTBA/s1600/toolbar.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/--hFmwTB_ryQ/TnB3F_2DF9I/AAAAAAAABSU/RWfPz8GkTBA/s400/toolbar.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The OpenID icon in the toolbar&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;b&gt;Installation instructions:&lt;/b&gt;&lt;br /&gt;
Browse to Addons@Mozilla and install the version 1.2 or newer: &lt;br /&gt;
&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/versions/"&gt;https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/versions/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-XNu1psQLuSQ/TnB3GV7twAI/AAAAAAAABSc/w3fTwByw1io/s400/addons-mozilla.png" style="margin-left: auto; margin-right: auto;" width="400" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"OpenID for Firefox" at mozilla&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-xDC8AxZ7DRw/TnB3HKYX9vI/AAAAAAAABS0/eWVpg5wqHYE/s400/add2firefox.png" style="margin-left: auto; margin-right: auto;" width="400" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Add to Firefox&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/-xDC8AxZ7DRw/TnB3HKYX9vI/AAAAAAAABS0/eWVpg5wqHYE/s1600/add2firefox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Confirm the installation.
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QIesuhrXlU8/TnB3GjWHo4I/AAAAAAAABSk/5yHlSip63Ys/s1600/installieren.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-QIesuhrXlU8/TnB3GjWHo4I/AAAAAAAABSk/5yHlSip63Ys/s400/installieren.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Add-on installation dialog&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Restart the browser.
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-pF2FTGkNry0/TnB3GzDd5_I/AAAAAAAABSs/aVSgrGRS5ig/s1600/restart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-pF2FTGkNry0/TnB3GzDd5_I/AAAAAAAABSs/aVSgrGRS5ig/s400/restart.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Configure Firefox Sync to sync your OpenIDs from your desktop machine to your Android device.
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-aDdIJKA5QJU/TnCBHacebDI/AAAAAAAABS8/9dTdOz_ckRU/s1600/sync.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-aDdIJKA5QJU/TnCBHacebDI/AAAAAAAABS8/9dTdOz_ckRU/s400/sync.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Browse to a site that supports OpenID. e.g.: http://wiki.idcommons.net/Special:OpenIDLogin
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-Q8u8gwRW1Cw/TnCBHunXYeI/AAAAAAAABTE/DY0vl6i1OEw/s1600/idcommens.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-Q8u8gwRW1Cw/TnCBHunXYeI/AAAAAAAABTE/DY0vl6i1OEw/s400/idcommens.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-1AjCu0RRUEg/TnCBH_RFffI/AAAAAAAABTM/TJx9n3K0rVI/s1600/loggedin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-1AjCu0RRUEg/TnCBH_RFffI/AAAAAAAABTM/TJx9n3K0rVI/s400/loggedin.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The mobile version of OpenID for Firefox does not have all the nice features of the desktop version. You can not (yet) choose between OpenIDs when logging in. 
I needed a few evenings to adjust to the differences in addon development between the desktop and mobile versions of Firefox. But now I am confident that I can implement an account chooser for OpenIds on Firefox Mobile soon.

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-7826748658257407501?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/4KmYtC_o_iM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/7826748658257407501/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=7826748658257407501" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7826748658257407501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7826748658257407501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/4KmYtC_o_iM/openid-for-firefox-mobile-android.html" title="OpenID for Firefox Mobile Android" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/--hFmwTB_ryQ/TnB3F_2DF9I/AAAAAAAABSU/RWfPz8GkTBA/s72-c/toolbar.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/09/openid-for-firefox-mobile-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUASXs4cSp7ImA9WhZSFUo.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-518221619766917314</id><published>2011-03-31T11:36:00.006+02:00</published><updated>2011-03-31T14:24:08.539+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-31T14:24:08.539+02:00</app:edited><title>All those NASCARs</title><content type="html">We did not really make a breakthrough in the last years on the questions of &lt;br /&gt;- Identity Provider Discovery&lt;br /&gt;- security and privacy UI&lt;br /&gt;- Identity in the Browser&lt;br /&gt;- intelligent agents or what ever you call them&lt;br /&gt;- openid UI&lt;br /&gt;- add your favorite here...&lt;br /&gt;&lt;br /&gt;Although we did not have a lack of efforts to solve some of these issues&lt;br /&gt;- cardspace&lt;br /&gt;- openinfocard&lt;br /&gt;- azigo's selector&lt;br /&gt;- Kantara login ULX&lt;br /&gt;- openidsamplestore.com&lt;br /&gt;- Janrain's Engage&lt;br /&gt;- ...&lt;br /&gt;&lt;br /&gt;We really need browser support. So lets start - again - with: Identity in the Browser.&lt;br /&gt;&lt;br /&gt;Requirements: &lt;br /&gt;- user centric&lt;br /&gt;- ask for user consent before leaking information.&lt;br /&gt;- help the users discover the reusable identities they already have.&lt;br /&gt;- don't favor any identity provider.&lt;br /&gt;- not to many user choices. Keep it simple.&lt;br /&gt;- allow the site to detect whether or not identity in the browser is supported or not.&lt;br /&gt;&lt;br /&gt;I created a Firefox addon that tries to achieve just that.&lt;br /&gt;http://ignisvulpis.blogspot.com/2011/03/openid-for-firefox4.html&lt;br /&gt;Or at least go in that direction. I concentrated on openid support but I think it is easy to generalize from there.&lt;br /&gt;&lt;br /&gt;The DOM level API that allows the site to query the preferred identity provider looks like this:&lt;br /&gt;&lt;pre&gt;window.openid.getPreferredOpenidProvider(callback);&lt;/pre&gt;&lt;br /&gt;The site can detect support by testing for the new child of the window object to be present:&lt;br /&gt;&lt;pre&gt;if (window.openid) { don't show the nascar }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Maybe I should not have named this "window.openid" but "window.identity"?!&lt;br /&gt;I guess that is for the W3C to decide. They just added another event to Identity-May:&lt;br /&gt;"&lt;a href="http://www.w3.org/2011/identity-ws/"&gt;W3C Workshop on Identity in the Browser&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;I really hope that we get W3C support for Identity. It is not important whether this is called window.openid or navigator.openid or whatever. We have a nice example for another W3C API: &lt;a href="http://dev.w3.org/geo/api/spec-source.html"&gt;Geolocation&lt;/a&gt; and I modelled my Identity API suggestion along those lines.&lt;br /&gt;&lt;br /&gt;What next?&lt;br /&gt;I) The UI of my addon is not that polished.&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/-X9AKHKZhnzI/TY0no58U-GI/AAAAAAAABN4/VIhtT9Zoxng/s1600/openidtest-wantstoknow.png" alt="addon asking for permission to store openid"/&gt;&lt;br /&gt;&lt;br /&gt;a) In this case the file-url is especially ugly and in this case there are not that many alternatives.&lt;br /&gt;In the website case the addon could&lt;br /&gt;- show the site's URL &lt;br /&gt;- show the site's favicon instead of URL&lt;br /&gt;- show the site's icon from the extended validation certificate&lt;br /&gt;- show the site's "other icon" which I don't know how to get in a standardized way&lt;br /&gt;- show the site's name / title from the webpage&lt;br /&gt;- show the site's name from the certificate&lt;br /&gt;&lt;br /&gt;b) Should I show which openid the addon is going to provide to the site?&lt;br /&gt;Actually the user does not really care whether this is an openid or whatever. &lt;br /&gt;Here the addon could&lt;br /&gt;- show the user's openid.claimed_id&lt;br /&gt;- show the user's openid.identity&lt;br /&gt;- show the OpenID Provider's (OP) favicon from the openid.op_endpoint&lt;br /&gt;- show the user's icon/image provided by the OP&lt;br /&gt;- let the user add an icon to that openid&lt;br /&gt;&lt;br /&gt;II) Should the addon use the Firefox notification-box or the newer notification popups?&lt;br /&gt;The notification box might be to easy to fake by a website but then there is no real point in faking it. Or is it?&lt;br /&gt;&lt;br /&gt;III) Learning new OpenIDs notification popup&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-FpMpSsPPg1A/TZRZsdtSaVI/AAAAAAAABOY/wmir-u43vD0/s1600/savethis.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 109px;" src="http://2.bp.blogspot.com/-FpMpSsPPg1A/TZRZsdtSaVI/AAAAAAAABOY/wmir-u43vD0/s400/savethis.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5590191657897322834" /&gt;&lt;/a&gt;&lt;br /&gt;Here the addon could&lt;br /&gt;- show the user's openid.claimed_id (as seen in the picture above)&lt;br /&gt;- show the user's openid.identity&lt;br /&gt;- show the OpenID Provider's (OP) favicon from the openid.op_endpoint&lt;br /&gt;- show the user's icon/image provided by the OP&lt;br /&gt;- let the user add an icon to that openid&lt;br /&gt;&lt;br /&gt;IV) Does the user already have reusable Identities?&lt;br /&gt;- The addon could just open a tab that shows the OpenID Foundation's "&lt;a href="https://openid.net/get-an-openid/"&gt;get an openid&lt;/a&gt;" page.&lt;br /&gt;- I implemented a feature where the browser helps the users find their reusable identities. The browser knows a lot about the sites the user visited and might have stored the user's credentials for some sites. My implementation iterates through all domains with stored credentials and requests the Yadis XRD. If the XRD contains openid information then the domain is shown as an potential "openid you might already have".&lt;br /&gt;This feature is not in the version I have uploaded to &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/"&gt;Mozilla&lt;/a&gt;.&lt;br /&gt;- The addon could use Mozilla's Firefox Sync openid provider. Which would violate the rule not to prefer some identity providers...&lt;br /&gt;&lt;br /&gt;V) Mobile support&lt;br /&gt;&lt;a href="https://www.mozilla.com/en-US/mobile/"&gt;Firefox mobile&lt;/a&gt; is out. The addon currently does not support Firefox mobile. Which brings me to the next point.&lt;br /&gt;&lt;br /&gt;VI) The addon could add identities (openids) to form input fields from a context menu. Right click the page or input element and a choice is presented to the user to input the openid into that input field. But on the other hand this should be done better by the site's javascript code after it has detected support through the DOM API.&lt;br /&gt;&lt;br /&gt;VII) Support identities issued by mobile operators. &lt;br /&gt;Should be easy... Support mobile wallets.&lt;br /&gt;&lt;br /&gt;VII) The openid icon in the url-bar might be too much for other providers. I don't care for now.&lt;br /&gt;&lt;br /&gt;Please support Identity in the Browser!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-518221619766917314?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/2HKisS2km7Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/518221619766917314/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=518221619766917314" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/518221619766917314?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/518221619766917314?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/2HKisS2km7Q/all-those-nascars.html" title="All those NASCARs" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-X9AKHKZhnzI/TY0no58U-GI/AAAAAAAABN4/VIhtT9Zoxng/s72-c/openidtest-wantstoknow.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/03/all-those-nascars.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8FRHc5fCp7ImA9WhZSEU8.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-7647676793743939523</id><published>2011-03-26T00:37:00.008+01:00</published><updated>2011-03-26T08:16:55.924+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-26T08:16:55.924+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenId" /><category scheme="http://www.blogger.com/atom/ns#" term="firefox4" /><category scheme="http://www.blogger.com/atom/ns#" term="addon" /><title>OpenID for Firefox4</title><content type="html">I created an &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/"&gt;addon&lt;/a&gt; for &lt;a href="https://www.mozilla.com/"&gt;Firefox4&lt;/a&gt; that learns your &lt;a href="https://openid.net/"&gt;OpenIDs&lt;/a&gt; when you use them.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The addon then asks you whether it may store the discovered openid (claimed_id) shown here at the &lt;a href="http://wiki.idcommons.net/Special:OpenIDLogin"&gt;identity commons&lt;/a&gt; site:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-7fyDGXd8CpQ/TY0noEQMk7I/AAAAAAAABNY/iy2rRKcfAxc/s1600/idcommons-save-openid.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 317px;" src="http://4.bp.blogspot.com/-7fyDGXd8CpQ/TY0noEQMk7I/AAAAAAAABNY/iy2rRKcfAxc/s400/idcommons-save-openid.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588166281926579122" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;Another thing the addon does is that it allows the site to query the DOM for your preferred openid:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-gcCccFuImSI/TY0nou26D0I/AAAAAAAABNw/8A23tsSfw0M/s1600/openidtest-start.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 95px;" src="http://4.bp.blogspot.com/-gcCccFuImSI/TY0nou26D0I/AAAAAAAABNw/8A23tsSfw0M/s400/openidtest-start.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588166293363232578" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;This is the source code of the last page:&lt;br /&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;JavaScript-Test&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;script&amp;nbsp;type="application/javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;function&amp;nbsp;start() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;window.openid.getPreferredOpenidProvider(function(preferredOpenidProvider)&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;var&amp;nbsp;p&amp;nbsp;=&amp;nbsp;document.getElementById("id");&lt;br /&gt; &amp;nbsp;&amp;nbsp;p.textContent&amp;nbsp;=&amp;nbsp;preferredOpenidProvider;&lt;br /&gt; });&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch(e) {alert("exception="+e);}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;form&amp;gt;&amp;lt;input&amp;nbsp;type=button&amp;nbsp;value="Start"&amp;nbsp;onClick="start()"&amp;gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;p&amp;nbsp;id="id"&amp;gt;openid&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;The addon then asks the user for her consent to provide the openid to the site:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-X9AKHKZhnzI/TY0no58U-GI/AAAAAAAABN4/VIhtT9Zoxng/s1600/openidtest-wantstoknow.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 95px;" src="http://3.bp.blogspot.com/-X9AKHKZhnzI/TY0no58U-GI/AAAAAAAABN4/VIhtT9Zoxng/s400/openidtest-wantstoknow.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588166296338757730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;Clicking the openid urlbar icon inserts the openid to an appropriate input field on the page. If the addon did not learn an OpenID in the past it opens the OpenID Foundation's "Get An OpenID" page"&lt;/p&gt;&lt;p&gt;Google's &lt;a href="http://www.openidsamplestore.com/index.php?route=account/login#signup"&gt;openidsamplestore&lt;/a&gt; does NOT put an id or name on the input fields making it impossible for the addon to determine the correct input field. Shame on you Google! You can drag the OpenID urlbar icon to the correct field to insert your OpenID into the field.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-lO2dGN0oKNo/TY0nodINt9I/AAAAAAAABNo/VG4bJCNQGz8/s1600/openidsamplestore-signup.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 295px;" src="http://2.bp.blogspot.com/-lO2dGN0oKNo/TY0nodINt9I/AAAAAAAABNo/VG4bJCNQGz8/s400/openidsamplestore-signup.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588166288603985874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-IRleJG07AUU/TY0noec2e6I/AAAAAAAABNg/uDgzBjTm1e4/s1600/openidsamplestore-registration-create-account.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 322px; height: 400px;" src="http://3.bp.blogspot.com/-IRleJG07AUU/TY0noec2e6I/AAAAAAAABNg/uDgzBjTm1e4/s400/openidsamplestore-registration-create-account.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588166288958978978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;The addon works on &lt;a href="http://stackoverflow.com/users/login"&gt;Stackoverflow&lt;/a&gt; too:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-PMcrM2SGBiI/TY0tENqIUYI/AAAAAAAABOA/BN9084olFBA/s1600/stackoverflow.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 344px;" src="http://4.bp.blogspot.com/-PMcrM2SGBiI/TY0tENqIUYI/AAAAAAAABOA/BN9084olFBA/s400/stackoverflow.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5588172263045747074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="clear:both"&gt;Get &lt;a href="https://www.mozilla.com/"&gt;Firefox4&lt;/a&gt; now and please try out this new &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/openid-for-firefox/"&gt;addon&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-7647676793743939523?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/RAbG6KURdrs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/7647676793743939523/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=7647676793743939523" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7647676793743939523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/7647676793743939523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/RAbG6KURdrs/openid-for-firefox4.html" title="OpenID for Firefox4" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-7fyDGXd8CpQ/TY0noEQMk7I/AAAAAAAABNY/iy2rRKcfAxc/s72-c/idcommons-save-openid.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/03/openid-for-firefox4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYDQ3gyfip7ImA9Wx9aEUs.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-8648085716974410432</id><published>2011-03-03T15:26:00.005+01:00</published><updated>2011-03-03T15:56:12.696+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-03T15:56:12.696+01:00</app:edited><title>AES + Password Based Encryption for JSON Web Tokens</title><content type="html">I just committed some new code to the &lt;a href="https://code.google.com/p/openinfocard/"&gt;xmldap&lt;/a&gt; code repository. &lt;a href="https://code.google.com/p/openinfocard/source/browse/trunk/src/org/xmldap/json/WebToken.java"&gt;WebToken.java&lt;/a&gt; signs and encrypts JSON Web Tokens and &lt;a href="https://code.google.com/p/openinfocard/source/browse/trunk/testsrc/org/xmldap/json/WebTokenTest.java"&gt;WebTokenTest.java&lt;/a&gt; contains the JUNIT tests. These tests also show how WebToken.java is used.&lt;br /&gt;&lt;br /&gt;Today I added Password Based Encryption (PBE) and AES encryption.&lt;br /&gt;&lt;br /&gt;PBE uses PBEWithMD5AndDES with DESede.&lt;br /&gt;AES is used in CBC mode.&lt;br /&gt;&lt;br /&gt;PBE and RSA encryption yield in a three segment token:&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;jwtHeaderSegment.jwtKeySegment.jwtCryptoSegment&lt;/span&gt;&lt;br /&gt;where &lt;br /&gt;- the header segment describes the algorithm and key used,&lt;br /&gt;- the key segment contains the encrypted key that is actually used to encrypt the payload&lt;br /&gt;- the crypto segment contains the encrypted content.&lt;br /&gt;As always each segment is base64 url encoded.&lt;br /&gt;&lt;br /&gt;AES encryption yields in a two segment token:&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;jwtHeaderSegment.jwtCryptoSegment&lt;/span&gt;&lt;br /&gt;The jwtKeySegment is not needed because AES uses a shared secret to encrypt the payload. It makes no sense to put this secret key into the token.&lt;br /&gt;&lt;br /&gt;PBE and RSA encryption generate the encryption key and therefore this key is encrypted and send as the jwtKeySegment. JSON WebToken encryption with RSA was explained in &lt;a href="http://ignisvulpis.blogspot.com/2011/03/rsa-encrypting-json_02.html"&gt;yesterdays blog post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here are some example tokens (without lengthy explanation):&lt;br /&gt;PBE jwtHeaderSegment: {"alg":"EPBE",&lt;br /&gt; "kid":"iauxBG&lt;9"}&lt;br /&gt;PBE password: password&lt;br /&gt;PBE jwtHeaderSegment base64: eyJhbGciOiJFUEJFIiwNCiAia2lkIjoiaWF1eEJHPDkifQ&lt;br /&gt;PBE jwtKeySegment: {"slt":"PS023Hz4xuI","wrp":"o50kyveiYHrqg6sIPldlU4Fbi4QEnGY99FhpU_G1-zk"}&lt;br /&gt;PBE jwtKeySegment base64: eyJzbHQiOiJQUzAyM0h6NHh1SSIsIndycCI6Im81MGt5dmVpWUhycWc2c0lQbGRsVTRGYmk0UUVuR1k5OUZocFVfRzEtemsifQ&lt;br /&gt;PBE jwtCryptoSegment base64: CZCiieIHmirOHW17xXECoPmvIaT1de8DF5Czw0Uv1ktJ7uDAEaPj7fHM3__vnqtNLD86u2HeR7yV-UnhHn-3wF0tppv1_EJ7&lt;br /&gt;&lt;br /&gt;fixed AES192 keybytes&lt;br /&gt;[126, -34, -48, -34, 61, 72, -63, -36, 14, 53, -27, -7, -35, -57, 59, -89, 51, 84, 115, -119, -1, -125, -115, 108]&lt;br /&gt;AES192 jwtCryptoSegment base64: K2xsdGRCb0tzcVdEMk1NNWdmeFlLYzdkY0V3Ry95cU5PclZZYkE0V25XMFZocW5sMVhjeDFzQWhIN2kvMVZGYms2emdHNFVrQXVSNmJjVzNaWmNBbUxtZ08xcEFybnpwYkdSWldJRlpleTRxMGI2KzVQV1hiV2JIUGh2d1kxeEM&lt;br /&gt;&lt;br /&gt;The payload is the same as in Mike Jones' &lt;a href="http://self-issued.info/docs/draft-jones-json-web-token-01.html"&gt;draft&lt;/a&gt;:&lt;br /&gt;{"iss":"joe",&lt;br /&gt; "exp":1300819380,&lt;br /&gt; "http://example.com/is_root":true}&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-8648085716974410432?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/2BJTE5lbQxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/8648085716974410432/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=8648085716974410432" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8648085716974410432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8648085716974410432?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/2BJTE5lbQxo/aes-password-based-encryption-for-json.html" title="AES + Password Based Encryption for JSON Web Tokens" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/03/aes-password-based-encryption-for-json.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYHR3o9fyp7ImA9Wx9aEUg.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-621603915447861188</id><published>2011-03-02T14:49:00.001+01:00</published><updated>2011-03-03T14:15:36.467+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-03T14:15:36.467+01:00</app:edited><title>RSA Encrypting JSON</title><content type="html">&lt;style type='text/css'&gt;&lt;!--&lt;br /&gt;        table.all, table.full, table.headers, table.none {&lt;br /&gt;                font-size: small; text-align: center; border-width: 2px;&lt;br /&gt;                vertical-align: top; border-collapse: collapse;&lt;br /&gt;        }&lt;br /&gt;        table.all, table.full { border-style: solid; border-color: black; }&lt;br /&gt;        table.headers, table.none { border-style: none; }&lt;br /&gt;        th {&lt;br /&gt;                font-weight: bold; border-color: black;&lt;br /&gt;                border-width: 2px 2px 3px 2px;&lt;br /&gt;        }&lt;br /&gt;        table.all th, table.full th { border-style: solid; }&lt;br /&gt;        table.headers th { border-style: none none solid none; }&lt;br /&gt;        table.none th { border-style: none; }&lt;br /&gt;        table.all td {&lt;br /&gt;                border-style: solid; border-color: #333;&lt;br /&gt;                border-width: 1px 2px;&lt;br /&gt;        }&lt;br /&gt;        table.full td, table.headers td, table.none td { border-style: none; }&lt;br /&gt;--&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;After I &lt;a href="https://code.google.com/p/openinfocard/source/browse/trunk/src/org/xmldap/json/WebToken.java"&gt;implemented&lt;/a&gt; the current draft to sign JSON: "&lt;a href="http://self-issued.info/docs/draft-jones-json-web-token-01.html"&gt;JSON Web Token (JWT) - Claims and Signing&lt;/a&gt;" I implemented some simple JSON encryption.&lt;br /&gt;&lt;br /&gt;This works by generating a ephemeral symmetric key with a specified keylength (128, 192, 256 bits) that is encrypted using the recipient's public RSA key. The ephemeral symmetric key is used to encrypt the payload using AES in CBC-mode &lt;update&gt;with PKCS7 padding&lt;/update&gt;.&lt;br /&gt;Depending on the key length the algorithms are called RE128, RE192 and RE256.&lt;br /&gt;&lt;br /&gt;The following is an example of a JSON object that can be encoded to produce a JWT Claims Object: &lt;br /&gt;&lt;div style='display: table; width: 0; margin-left: 3em; margin-right: auto'&gt;&lt;pre&gt;{"iss":"joe",&lt;br /&gt; "exp":1300819380,&lt;br /&gt; "http://example.com/is_root":true}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The following example JSON header object declares that the encoded object is a JSON Web Token (JWT) and that the JWT Payload Segment is encrypted using the RE256 algorithm and that the RSA public key has the thumbprint of b9E8JDWjYefFiM0X9V9a098Bd6ZsFyemogCEX016uIw: &lt;br /&gt;&lt;br /&gt;&lt;div style='display: table; width: 0; margin-left: 3em; margin-right: auto'&gt;&lt;pre&gt;{"typ":"JWT",&lt;br /&gt; "alg":"RE256",&lt;br /&gt; "x5t":"b9E8JDWjYefFiM0X9V9a098Bd6ZsFyemogCEX016uIw"}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Base64url encoding the JSON header yields the following &lt;span style="font-weight:bold;"&gt;JWT header segment&lt;/span&gt;:&lt;br /&gt;eyJhbGciOiJSRTI1NiIsDQogIng1dCI6ImI5RThKRFdqWWVmRmlNMFg5VjlhMDk4QmQ2WnNGeWVtb2dDRVgwMTZ1SXcifQ&lt;br /&gt;&lt;br /&gt;The following byte array contains the UTF-8 characters for an example ephemeral key:&lt;br /&gt;[27, 24, 24, 78, 51, -38, -111, -13, -53, -4, -13, -84, 34, -59, 96, 20, -23, 87, -26, -56, -116, -35, 127, -21, -97, -26, -71, 74, -36, -67, -124, -45]&lt;br /&gt;&lt;br /&gt;The RSA key consists of a public part (n, e), and a private exponent d.  The values of the RSA key used in this example, presented as the byte arrays representing big endian integers are:&lt;br /&gt;&lt;table class="full" border="0" cellpadding="2" cellspacing="2"&gt;&lt;col width="0*" align="left"&gt;&lt;col align="left"&gt;&lt;tr&gt;&lt;th width="0*" align="left"&gt;Parameter Name&lt;/th&gt;&lt;th align="left"&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;n&lt;/td&gt;&lt;td align="left"&gt;[161, 248, 22, 10, 226, 227, 201, 180, 101, 206, 141, 45, 101, 98, 99, 54, 43, 146, 125, 190, 41, 225, 240, 36, 119, 252, 22, 37, 204, 144, 161, 54, 227, 139, 217, 52, 151, 197, 182, 234, 99, 221, 119, 17, 230, 124, 116, 41, 249, 86, 176, 251, 138, 143, 8, 154, 220, 75, 105, 137, 60, 193, 51, 63, 83, 237, 208, 25, 184, 119, 132, 37, 47, 236, 145, 79, 228, 133, 119, 105, 89, 75, 234, 66, 128, 211, 44, 15, 85, 191, 98, 148, 79, 19, 3, 150, 188, 110, 155, 223, 110, 189, 210, 189, 163, 103, 142, 236, 160, 198, 104, 247, 1, 179, 141, 191, 251, 56, 200, 52, 44, 226, 254, 109, 39, 250, 222, 74, 90, 72, 116, 151, 157, 212, 185, 207, 154, 222, 196, 199, 91, 5, 133, 44, 44, 15, 94, 248, 165, 193, 117, 3, 146, 249, 68, 232, 237, 100, 193, 16, 198, 182, 71, 96, 154, 164, 120, 58, 235, 156, 108, 154, 215, 85, 49, 48, 80, 99, 139, 131, 102, 92, 111, 111, 122, 130, 163, 150, 112, 42, 31, 100, 27, 130, 211, 235, 242, 57, 34, 25, 73, 31, 182, 134, 135, 44, 87, 22, 245, 10, 248, 53, 141, 154, 139, 157, 23, 195, 64, 114, 143, 127, 135, 216, 154, 24, 216, 252, 171, 103, 173, 132, 89, 12, 46, 207, 117, 147, 57, 54, 60, 7, 3, 77, 111, 96, 111, 158, 33, 224, 84, 86, 202, 229, 233, 161]&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;e&lt;/td&gt;&lt;td align="left"&gt;[1, 0, 1]&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;d&lt;/td&gt;&lt;td align="left"&gt;[18, 174, 113, 164, 105, 205, 10, 43, 195, 126, 82, 108, 69, 0, 87, 31, 29, 97, 117, 29, 100, 233, 73, 112, 123, 98, 89, 15, 157, 11, 165, 124, 150, 60, 64, 30, 63, 207, 47, 44, 211, 189, 236, 136, 229, 3, 191, 198, 67, 155, 11, 40, 200, 47, 125, 55, 151, 103, 31, 82, 19, 238, 216, 193, 90, 37, 216, 213, 206, 160, 2, 94, 227, 171, 46, 139, 127, 121, 33, 111, 198, 59, 234, 86, 39, 83, 180, 6, 68, 198, 161, 81, 39, 217, 178, 149, 69, 64, 160, 187, 225, 163, 5, 86, 152, 45, 78, 159, 222, 95, 100, 37, 241, 77, 75, 113, 52, 65, 181, 93, 199, 59, 155, 74, 237, 204, 146, 172, 227, 146, 126, 55, 245, 125, 12, 253, 94, 117, 129, 250, 81, 44, 143, 73, 97, 169, 235, 11, 128, 248, 168, 7, 70, 114, 138, 85, 255, 70, 71, 31, 52, 37, 6, 59, 157, 83, 100, 47, 94, 222, 30, 132, 214, 19, 8, 26, 250, 92, 34, 208, 81, 40, 91, 214, 59, 148, 59, 86, 93, 137, 138, 5, 104, 84, 19, 229, 60, 60, 108, 101, 37, 255, 31, 227, 78, 61, 220, 112, 240, 213, 100, 80, 253, 164, 139, 161, 46, 16, 78, 157, 235, 159, 184, 24, 129, 225, 196, 189, 242, 93, 146, 71, 244, 80, 200, 101, 146, 121, 104, 231, 115, 52, 244, 65, 79, 117, 167, 80, 225, 57, 84, 110, 58, 138, 115, 157]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The RSA public (n,e) key and the ephemeral symmetric key are then passed to the RSA OAEP encryption function. &lt;br /&gt;The following byte array contains the UTF-8 characters for the encrypted ephemeral key:&lt;br /&gt;[-106, 115, -121, -62, -123, 54, -119, 65, -90, 8, 65, 115, 53, 22, 74, -88, 27, 29, -120, -76, 122, -113, 69, -63, 90, -22, -29, 78, 1, 66, -59, 62]&lt;br /&gt;&lt;br /&gt;Base64url encoding this byte array produces this value for the &lt;b&gt;JWT Key Segment&lt;/b&gt;:&lt;br /&gt;lnOHwoU2iUGmCEFzNRZKqBsdiLR6j0XBWurjTgFCxT7eSfGNpni01a3TzuaeZjVc_f3jEiuvJFYFanizkpyk9BGqCNs5LhX2m1h2Qc_llKt3TgGRi67e9p36vX81G8-QccnNQ321vutKYe2jlEvcg0hhWhejhbtK2XjsKkMaJDzEDuULbJmnAFgchSdbcYgz0JK6onX_1tO2FWed0r-EK0v9v7Y65pwz_nrYf2u8f5-j5aX2RUEYVx0sq2oaJZbbp26QmUGVPdnnEgOVI6vpL5-M6Gl1q9j645Ag94Sx9HpQcg8KEUVLfK3BfbLYGnIf-kFP8fROHuIHAMdiPD4ong&lt;br /&gt;&lt;br /&gt;Using the symmetric key to AES256 encrypt the payload bytes and base64url-encoding the resulting bytes yields the &lt;b&gt;JWT Crypto Segment&lt;/b&gt;:&lt;br /&gt;L2ZFNFVQcCtjdWw1QTVZSGw0bUhGRDZ6NDlkNFFtRWQ1a0VBSGUzNzN3V0txY29MZmRHWkhrRUtYMUJNRWl4dzQ0RHlZcmN6TWg4WWEvN04wdUYrc01UeWlYUXBYdmV6a2JvWWd2aFQzeS9OZkpoZ2doSTN6bmViTnVwZHNZZFI&lt;br /&gt;&lt;br /&gt;Combining these segments in the order Header.Key.Crypt with period characters between the segments yields this complete JWT using the JWT Compact Serialization (with line breaks for display purposes only):&lt;br /&gt;&lt;br /&gt;eyJhbGciOiJSRTI1NiIsDQogIng1dCI6ImI5RThKRFdqWWVmRmlNMFg5VjlhMDk4QmQ2WnNGeWVtb2dDRVgwMTZ1SXcifQ&lt;br /&gt;.&lt;br /&gt;lnOHwoU2iUGmCEFzNRZKqBsdiLR6j0XBWurjTgFCxT7eSfGNpni01a3TzuaeZjVc_f3jEiuvJFYFanizkpyk9BGqCNs5LhX2m1h2Qc_llKt3TgGRi67e9p36vX81G8-QccnNQ321vutKYe2jlEvcg0hhWhejhbtK2XjsKkMaJDzEDuULbJmnAFgchSdbcYgz0JK6onX_1tO2FWed0r-EK0v9v7Y65pwz_nrYf2u8f5-j5aX2RUEYVx0sq2oaJZbbp26QmUGVPdnnEgOVI6vpL5-M6Gl1q9j645Ag94Sx9HpQcg8KEUVLfK3BfbLYGnIf-kFP8fROHuIHAMdiPD4ong&lt;br /&gt;.&lt;br /&gt;L2ZFNFVQcCtjdWw1QTVZSGw0bUhGRDZ6NDlkNFFtRWQ1a0VBSGUzNzN3V0txY29MZmRHWkhrRUtYMUJNRWl4dzQ0RHlZcmN6TWg4WWEvN04wdUYrc01UeWlYUXBYdmV6a2JvWWd2aFQzeS9OZkpoZ2doSTN6bmViTnVwZHNZZFI&lt;br /&gt;&lt;br /&gt;Decoding the JWT from this example requires processing the JWT Header Segment, finding the private key to decrypt the symmetric key and using that symmetric key to decrypt the encrypted payload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-621603915447861188?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/KG6t9CE0onA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/621603915447861188/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=621603915447861188" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/621603915447861188?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/621603915447861188?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/KG6t9CE0onA/rsa-encrypting-json_02.html" title="RSA Encrypting JSON" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2011/03/rsa-encrypting-json_02.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGQ3Y7eSp7ImA9Wx9QFEs.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-3908973626538814239</id><published>2010-12-27T12:13:00.006+01:00</published><updated>2010-12-27T15:32:02.801+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-27T15:32:02.801+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="openinfocard drag'n'drop user-centric" /><title>openinfocard drag and drop</title><content type="html">I used the holidays to reintegrate drag and drop into openinfocard.&lt;br /&gt;&lt;br /&gt;After installing the &lt;a href="https://code.google.com/p/openinfocard/downloads/list"&gt;openinfocard Firefox addon&lt;/a&gt; (xmldap-0.9.9.201012271501.xpi) and surfing to a relyingparty e.g. &lt;a href="https://xmldap.org/relyingparty/"&gt;https://xmldap.org/relyingparty/&lt;/a&gt; you can now open the Firefox sidebar (using Ctrl-Alt-Shift I).&lt;br /&gt;The sidebar shows the list of Information Card you have. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/TRh6F0OwJNI/AAAAAAAABMw/iM0NPwQ3EHM/s1600/xmldap_relyingparty_sidebar_open.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/TRh6F0OwJNI/AAAAAAAABMw/iM0NPwQ3EHM/s400/xmldap_relyingparty_sidebar_open.png" border="0" alt="XMLDAP Relyingparty" id="BLOGGER_PHOTO_ID_5555324380699960530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can now drag one card to the form that contains the object element. The object element is not visible but the drag and drop handler is registered to the object element and the enclosing form. In the case of the xmldap relyingparty you can drag a card to the image and the drop event will bubble up to the form.&lt;br /&gt;&lt;br /&gt;Dragging an Information Card to the main page&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/TRh6R2o52WI/AAAAAAAABM4/P1zAgo6t0Ko/s1600/xmldap_relyingparty_dragging_card.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/TRh6R2o52WI/AAAAAAAABM4/P1zAgo6t0Ko/s400/xmldap_relyingparty_dragging_card.png" border="0" alt="Dragging an Information Card to the main page" id="BLOGGER_PHOTO_ID_5555324587504949602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Selector open with dragged card selected&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/TRh6bDmsqbI/AAAAAAAABNA/hJJtQH1aKZc/s1600/selector_open_with_dragged_card_selected.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/TRh6bDmsqbI/AAAAAAAABNA/hJJtQH1aKZc/s400/selector_open_with_dragged_card_selected.png" border="0" alt="Selector open with dragged card selected" id="BLOGGER_PHOTO_ID_5555324745604180402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;xmldap relyingparty with claims from dragged card&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_63KXhUQPgSE/TRh6hgkUX4I/AAAAAAAABNI/dYiF_kSg-hQ/s1600/xmldap_relyingparty_with_claims.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://1.bp.blogspot.com/_63KXhUQPgSE/TRh6hgkUX4I/AAAAAAAABNI/dYiF_kSg-hQ/s400/xmldap_relyingparty_with_claims.png" border="0" alt="xmldap relyingparty with claims from dragged card" id="BLOGGER_PHOTO_ID_5555324856458043266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Should I auto-submit the card because the dragging expresses the user consent already?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-3908973626538814239?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/3c2UgoCHfUE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/3908973626538814239/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=3908973626538814239" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/3908973626538814239?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/3908973626538814239?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/3c2UgoCHfUE/openinfocard-drag-and-drop.html" title="openinfocard drag and drop" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_63KXhUQPgSE/TRh6F0OwJNI/AAAAAAAABMw/iM0NPwQ3EHM/s72-c/xmldap_relyingparty_sidebar_open.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/12/openinfocard-drag-and-drop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMERn0-cCp7ImA9Wx5aF0k.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-4859222357584672759</id><published>2010-11-05T02:11:00.009+01:00</published><updated>2010-11-14T15:20:07.358+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-14T15:20:07.358+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SAML" /><category scheme="http://www.blogger.com/atom/ns#" term="WS-Trust" /><category scheme="http://www.blogger.com/atom/ns#" term="Salesforce" /><category scheme="http://www.blogger.com/atom/ns#" term="oauth" /><category scheme="http://www.blogger.com/atom/ns#" term="Information Cards" /><title>Information Cards, WS-Trust and SAML and OAuth, oh my!</title><content type="html">While reading Pat Patterson's blog post "&lt;a href="http://blog.sforce.com/sforce/2010/11/ws-trust-and-saml-and-oauth-oh-my.html"&gt;WS-Trust and SAML and OAuth, oh my!&lt;/a&gt;" I noticed that this fits into the Information Card flow.&lt;br /&gt;&lt;br /&gt;Pat describes Ping's &lt;a href="http://www.salesforce.com/"&gt;Salesforce&lt;/a&gt; mobile flow:&lt;ol&gt;&lt;li&gt;Mobile app accepts the username and password, and submits them to PingFederate in a WS-Trust request.&lt;/li&gt;&lt;li&gt;PingFederate validates the user credentials, creates a SAML assertion and submits that to Salesforce.com in an OAuth 2.0 request.&lt;/li&gt;&lt;li&gt;Salesforce.com validates the SAML assertion and responds to PingFederate with an OAuth access token.&lt;/li&gt;&lt;li&gt;PingFederate in turn replies to the Android app with a WS-Trust response containing the access token.&lt;/li&gt;&lt;li&gt;The Android app uses the access token to invoke the Salesforce.com REST API.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/TNNbL9tBUMI/AAAAAAAABMU/GP9jFyt0pwo/s1600/Ping-Salesforce-Mobile-Flow.png"&gt;&lt;img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/TNNbL9tBUMI/AAAAAAAABMU/GP9jFyt0pwo/s400/Ping-Salesforce-Mobile-Flow.png" com="" img="" gif="" alt="" id="BLOGGER_PHOTO_ID_5535868628068552898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now let's Information-Card-ify this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The user visits the mobile version of his company's application page at Salesforce. (No extra App just HTML5 and CSS3. Which is probably easier to implement than an App for Android and Blackberry and iPhone! The web app is available anyway.)&lt;/li&gt;&lt;li&gt;The site offers to use Information Cards to authenticate and the user clicks the purple-i icon to do so.&lt;br /&gt;This click requests the browser to follow a link with an &lt;a href="http://wiki.eclipse.org/IPhone_Selector#Relying_Parties"&gt;icard-https&lt;/a&gt; scheme.&lt;br /&gt;The browser/OS notices that this scheme is handled by &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=380668873&amp;amp;cc=us&amp;amp;mt=8&amp;amp;alreadyRedirected=1"&gt;Azigo's card selector for the iPhone&lt;/a&gt;. We, &lt;a href="http://www.laboratories.telekom.com/ipws/english/Pages/Willkommen.aspx"&gt;Deutsche Telekom Laboratories&lt;/a&gt;, have prototype selectors for iPhone and Android too.&lt;br /&gt;As it happens the card store contains an Information Card issued by the company and this card is the default card for this site. The selector contacts the card issuer (&lt;a href="http://www.pingidentity.com/our-solutions/pingfederate.cfm"&gt;PingFederate&lt;/a&gt;) like in the other flow using WS-Trust.&lt;/li&gt;&lt;li&gt;PingFederate validates the user credentials, creates a SAML assertion and submits that to Salesforce.com in an OAuth 2.0 request.&lt;/li&gt;&lt;li&gt;Salesforce.com validates the SAML assertion and responds to PingFederate with a session token.&lt;/li&gt;&lt;li&gt;PingFederate in turn replies to Azigo's selector with a WS-Trust response containing the session token.&lt;/li&gt;&lt;li&gt;The selector tells the browser to post the session token the Salesforce application and the user is "in session".&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;So, what is different for the user and his company:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No App for each mobile platform!&lt;/li&gt;&lt;li&gt;The user's credentials are entered at the company site (implemented by PingFederate)!&lt;/li&gt;&lt;li&gt;If the card were backed by a self-issued card or by a certificate then we even get rid of username/password!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Using oauth to obtain a session token may sound unusual but then oauth is token agnostic... Or Salesforce would provide the oauth token and that would then be used by the webapp to authenticate it's calls to Salesforce's REST API... Life's good.&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;br /&gt;&lt;br /&gt;Learn more about Information Cards at the Information Card Foundation!&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://informationcard.net/"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 193px; height: 40px;" src="http://informationcard.net/sites/default/files/icf-logos/icf-logo-193x40.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-4859222357584672759?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/tKLM6e1JmvQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/4859222357584672759/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=4859222357584672759" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4859222357584672759?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4859222357584672759?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/tKLM6e1JmvQ/information-cards-ws-trust-and-saml-and.html" title="Information Cards, WS-Trust and SAML and OAuth, oh my!" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_63KXhUQPgSE/TNNbL9tBUMI/AAAAAAAABMU/GP9jFyt0pwo/s72-c/Ping-Salesforce-Mobile-Flow.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/11/information-cards-ws-trust-and-saml-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QGSX48cCp7ImA9Wx5bGUw.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-5610081544930434459</id><published>2010-11-05T01:54:00.000+01:00</published><updated>2010-11-05T02:08:48.078+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T02:08:48.078+01:00</app:edited><title>blogger.com refuses to obey to HTTPS Everywhere</title><content type="html">While starting to write a new blog post here at blogger.com I noticed that the site does not use SSL. As I have &lt;a href="https://www.eff.org/https-everywhere"&gt;HTTPS Everywhere&lt;/a&gt; installed I added *.blogger.com and *.blogspot.com to the list of domains were I want to use SSL the whole time.&lt;br /&gt;But... my browser is always redirected to http://www.blogger.com/. &lt;br /&gt;This is not what I want...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-5610081544930434459?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/Z5qS2Q9pNvM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/5610081544930434459/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=5610081544930434459" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5610081544930434459?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5610081544930434459?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/Z5qS2Q9pNvM/bloggercom-refuses-to-obey-to-https.html" title="blogger.com refuses to obey to HTTPS Everywhere" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/11/bloggercom-refuses-to-obey-to-https.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYGQn0-cSp7ImA9WxFbEE0.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-3005176423140399447</id><published>2010-07-01T16:28:00.006+02:00</published><updated>2010-07-01T18:02:03.359+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-01T18:02:03.359+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="information card" /><category scheme="http://www.blogger.com/atom/ns#" term="OASIS" /><category scheme="http://www.blogger.com/atom/ns#" term="xmldap" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="json" /><title>Information Cards in JSON</title><content type="html">I added some code to &lt;a href="http://code.google.com/p/openinfocard/source/browse/#svn/trunk/src/org/xmldap"&gt;xmldap&lt;/a&gt; to serialize &lt;a href="http://www.oasis-open.org/committees/download.php/37489/identity-1.0-errata-cd-01.xsd"&gt;Information Cards&lt;/a&gt; to JSON.&lt;br /&gt;The rationale is that XML and especially XML Signature are a mess on mobile devices. J2ME is java1.3 and thus from the stoneage. But Android (java 6) is not better because javax.xml.transform is missing. Arghh!&lt;br /&gt;&lt;br /&gt;- I am throwing away namespaces&lt;br /&gt;- No deaply nested XML structures.&lt;br /&gt;- No signature (yet?)!&lt;br /&gt;&lt;br /&gt;I would like to standardize this or something similar. &lt;br /&gt;&lt;br /&gt;This is a &lt;a href="http://informationcard.net/blog/bc-gov-interview"&gt;Britisch Columbia Card&lt;/a&gt; from the &lt;a href="http://informationcard.net/blog/icf-at-rsa-2010"&gt;RSA interop&lt;/a&gt; in JSON:&lt;pre&gt;&lt;br /&gt;{&lt;br /&gt;  "CardId": "urn:GUID:6d6693c1-6b1a-df11-b009-00143851d232",&lt;br /&gt;  "IssuerName": "stsip.systestv2.bceid.ca",&lt;br /&gt;  "MimeType": "image/jpeg",&lt;br /&gt;  "lang": "en-us",&lt;br /&gt;  "TokenServiceList": [&lt;br /&gt;    {&lt;br /&gt;      "UserCredential": {&lt;br /&gt;        "Type": "UserNamePasswordAuthenticate",&lt;br /&gt;        "Username": "SBCEID\\pwiebe10i"&lt;br /&gt;      },&lt;br /&gt;      "Address": "https://stsip.systestv2.bceid.ca/adfs/services/trust/mex"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "UserCredential": {&lt;br /&gt;        "Type": "UserNamePasswordAuthenticate",&lt;br /&gt;        "Username": "SBCEID\\pwiebe10i"&lt;br /&gt;      },&lt;br /&gt;      "Address": "https://stsip.systestv2.bceid.ca/adfs/services/trust/mex"&lt;br /&gt;    }&lt;br /&gt;  ],&lt;br /&gt;  "SupportedTokenTypeList": ["http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0"],&lt;br /&gt;  "Issuer": "http://stsip.systestv2.bceid.ca/adfs/services/trust",&lt;br /&gt;  "CardVersion": 4,&lt;br /&gt;  "SupportedClaimTypeList": [&lt;br /&gt;    {&lt;br /&gt;      "Description": "Level of Assurance achieved according to the rules of the ICAM IMI 1.0 profile located at http://www.idmanagement.gov/",&lt;br /&gt;      "Uri": "http://idmanagement.gov/icam/2009/09/imi_1.0_profile#assurancelevel1",&lt;br /&gt;      "DisplayTag": "ICAM Assurance Level 1"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.cio.gov.bc.ca/standards/claims/2009/11/useridentifier",&lt;br /&gt;      "DisplayTag": "User Identifier"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.ocio.gov.bc.ca/standards/claims/2009/06/userdisplayname",&lt;br /&gt;      "DisplayTag": "User Display Name"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.ocio.gov.bc.ca/standards/claims/2009/09/identityassurancelevel",&lt;br /&gt;      "DisplayTag": "Identity Assurance Level"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.ocio.gov.bc.ca/standards/claims/2009/09/authoritativepartyidentifier",&lt;br /&gt;      "DisplayTag": "AP Identifier"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.ocio.gov.bc.ca/standards/claims/2009/09/authoritativepartyname",&lt;br /&gt;      "DisplayTag": "AP Name"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Uri": "http://www.cio.gov.bc.ca/standards/claims/2009/09/identityassurancelevel1",&lt;br /&gt;      "DisplayTag": "Identity Assurance Level 1"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The e-mail address of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",&lt;br /&gt;      "DisplayTag": "E-Mail Address"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The given name of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",&lt;br /&gt;      "DisplayTag": "Given Name"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The unique name of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",&lt;br /&gt;      "DisplayTag": "Name"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The user principal name (UPN) of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",&lt;br /&gt;      "DisplayTag": "UPN"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The surname of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname",&lt;br /&gt;      "DisplayTag": "Surname"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The private identifier of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier",&lt;br /&gt;      "DisplayTag": "PPID"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The SAML name identifier of the user",&lt;br /&gt;      "Uri": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",&lt;br /&gt;      "DisplayTag": "Name ID"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "Used to display the time and date that the user was authenticated",&lt;br /&gt;      "Uri": "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant",&lt;br /&gt;      "DisplayTag": "Authentication time stamp"&lt;br /&gt;    },&lt;br /&gt;    {&lt;br /&gt;      "Description": "The method used to authenticate the user",&lt;br /&gt;      "Uri": "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod",&lt;br /&gt;      "DisplayTag": "Authentication method"&lt;br /&gt;    }&lt;br /&gt;  ],&lt;br /&gt;  "CardName": "BCeID Information Card",&lt;br /&gt;  "TimeIssued": "2010-04-15T17:52:07.341Z",&lt;br /&gt;  "RequireAppliesTo": false,&lt;br /&gt;  "CardType": "urn:GUID:6d6693c1-6b1a-df11-b009-00143851d232",&lt;br /&gt;  "CardImage": "/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABQAHgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD340ZNBrg/FXxAGi301lbwGR4xhmCbhn9Py9qyrVoUo80jCviKdCPNUZr6l470TSbyO3u7pU3MFLZ+7k8Ej05/LtXS5NfJevXkuu+IYYVLLNczqiBjlRuIA+vNfV0TCOOOKSRTKFAPbJx6V6eNo0aMKc6cr8yv+VgoVXVTfQmzzS00dadXCbhRRRQAUUUUAFFFFABRRRQAUUUUAIa8M+KETWfiK6dJAY5grt3KsVHavUPGt5qNpoyf2asxkklCO0Kksq4PTHI7c15Le6ZqF4GMunXjseu6Fjn615ePqybVJU2+t+x4ebVZyaoxpuWzvY4a9037T5FyksiyqAYmVsFT1GD14Ne0atf3cNtAoupWEYWNsvlnKjBJPUnIJz6159ZeBL3U9UWNoZtPjQeYZ5YyNuCMbR3OSK7PUtGkWKNGv5ZCjeY5cAGRvUgdMnsK4uIs0hiaVCglyOG617K35M+m4YgneVSLW1rnqWmztc6ZaTuctJErMfUkc1brmvB+sRX1gLHyWims0VSC24MPUH+ldLXt4erGrSjOLumZ4ilKlVlCSsFFFFbGIUUUUAFFFFABRRRQAUUUUAIaMGlooAq3lhbX8apdRCRVOQCSMH8Konwvox62EZ/4E3+NTeIbuaw8NareW7BZ7ezlljYjOGVCQcH3Fckb3xJD4Eh8SQ6yJ5ltRdS29xbx+WwxkgFQCOPc0KipatIOdx2OxsNHsNMd3s7WOFnGGK55FXq5mbxlaWfgm38R3cbIs0SssCn5mdhwo/H9OaksbLXtStkutT1J7F5BuFpZon7oHszsCSfXGBTUOVdhOV2dFRXO2tvruneI4YpdQkv9JnifJliUPDIMEZZQMgjNblzdQ2kXmTyBF6c9z7UpNRV2xq7JqKy21RLiYWQFxazTITHIVXI9wDn9RXO+DtR1nVNc1uG/1RpYNNujBHGsMa+YPm5Yhc+nTFKnKNRNxewSTi0mdtRXBrea9cfEW60D+3JIrOO0F0rJbRb+SBtyVIxyea1NUj8T6Rave2F/HqixDc9rcwqjuo67WQAZ+orTk1tcnmOoorJ8N+ILTxNo0WpWmVVsq8bdY3HVTWtUtNOzKTuFFFFIAooooAxPGL+X4K1w4zmxmH5oR/WuQt/Dmr6x8OdNjttZYobSN/sckSiOUAZCFlw2O3Wu18S6dc6v4cv9OtHiSa5iMQaXO0A8Hp7ZrH0nSvFGm+HYNIE+lqYYvKW6BdmA6A7MAEj61rCVo/MiSuzgte8QLrnhPwvqL2q21raamsN1Cg+RCoGMe23P8q9pBBAIOQa5uy8EaVbeEW8OzK09vJlpZG4ZnPO/2PTH0pmlaf4k0G3SxSa01SziG2F53aGZV7AkBg2PXinNxkrLoKKa3OnZgqkngCuXtGutY1GW+SONo4iUh8xvlT3wOpqePTdZ1DWYrzVJbaG0gRxFaWzM5LsNu5mIGcAnAA707TtM1XTlkt4prfyWbIdgSw/CvMxcJOcFq49bdzqoySjJ9S/aaUIrs3lxKZ7kjAYjAUegFct4B/5GHxh/2Ej/AFrshHNBZlIWE0wBKmZiAze5AOB9BXMeFvD2taJrGq3V3JYSw6lcGdxE7hozzwMrz1HpXZQhGFNpaXMZtykmVLT/AJLVf/8AYJX/ANDWu5JAUk8Ada4dvDviaPxvJ4kgfS/ngFu1s0kmCnB+9t65HpWvf2Gv6zbNZz3Fpp1tKNsrWrNLKynqAzBQufXBraVnbUhXVznPhKh+x67PGCLSXUHMPoQPT9K9FqnpemWmjabDYWMQit4Vwqj+Z9SauVE5c0myoqysFFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z"&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Minor nit: lang="en-us". Might be better to use "en-ca"?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-3005176423140399447?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/bYsZ33EII1w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/3005176423140399447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=3005176423140399447" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/3005176423140399447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/3005176423140399447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/bYsZ33EII1w/information-cards-in-json.html" title="Information Cards in JSON" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/07/information-cards-in-json.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QER3Y6eyp7ImA9WxFVEEo.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-6126159279866594878</id><published>2010-06-09T10:20:00.004+02:00</published><updated>2010-06-09T11:21:46.813+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-09T11:21:46.813+02:00</app:edited><title>URL as ID</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/TA9dH0LpWNI/AAAAAAAAA_c/NTI25tVI9oE/s1600/IMG_20100609_111515.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/TA9dH0LpWNI/AAAAAAAAA_c/NTI25tVI9oE/s400/IMG_20100609_111515.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5480701660381141202" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-6126159279866594878?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/0zifXmQOjRo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/6126159279866594878/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=6126159279866594878" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/6126159279866594878?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/6126159279866594878?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/0zifXmQOjRo/url-as-id.html" title="URL as ID" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_63KXhUQPgSE/TA9dH0LpWNI/AAAAAAAAA_c/NTI25tVI9oE/s72-c/IMG_20100609_111515.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/06/url-as-id.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4NSX84eyp7ImA9WxFVEEo.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-6582339268512958107</id><published>2010-06-09T09:43:00.003+02:00</published><updated>2010-06-09T10:09:58.133+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-09T10:09:58.133+02:00</app:edited><title>HTML5 vs Flash</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/TA9GcdrMz4I/AAAAAAAAA_E/L-Vca1RdsQk/s1600/IMG_20100609_093720.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/TA9GcdrMz4I/AAAAAAAAA_E/L-Vca1RdsQk/s400/IMG_20100609_093720.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5480676726349287298" /&gt;&lt;/a&gt;&lt;br /&gt;http://www.youtube.com/html5&lt;br /&gt;http://nightly.mozilla.org/webm/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-6582339268512958107?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/hOLlIShAYlg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/6582339268512958107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=6582339268512958107" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/6582339268512958107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/6582339268512958107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/hOLlIShAYlg/html5-vs-flash.html" title="HTML5 vs Flash" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_63KXhUQPgSE/TA9GcdrMz4I/AAAAAAAAA_E/L-Vca1RdsQk/s72-c/IMG_20100609_093720.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/06/html5-vs-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4FRHY9eSp7ImA9WxFXE0w.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-4091943921765807487</id><published>2010-05-20T03:04:00.002+02:00</published><updated>2010-05-20T03:28:35.861+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-20T03:28:35.861+02:00</app:edited><title>Application Secrets vs. Key Pairs</title><content type="html">I was just reading about the new &lt;a href="http://code.google.com/apis/storage/docs/getting-started.html"&gt;Google Storage API&lt;/a&gt; for US developers and I am wondering why we see application secrets so often?&lt;br /&gt;&lt;br /&gt;Google is generating an application-id / "access key" and up to five application secrets for different projects a developer is working on. Fine. The developer has to sign each request to the storage API.&lt;br /&gt;http://code.google.com/apis/storage/docs/getting-started.html#keys&lt;br /&gt;&lt;br /&gt;I assume that Google might even generate code snippets for a given pair of access key and application secret to sign requests to make things really easy for the developer.&lt;br /&gt;&lt;br /&gt;Does nobody fear that Google admins might misuse the developer credentials?&lt;br /&gt;Does nobody fear that Google's database of developer credentials might be breached one day?&lt;br /&gt;&lt;br /&gt;What is so hard in using key pairs for developers? I know that some people faint when you use the three letter word "RSA" or "DSA" or whatever smells like asymmetric crypto. But if I have to sign a request anyway then where is the difference between symmetric and asymmetric? Is performance really still an issue? gmail is now SSL which is good. So here security finally won.&lt;br /&gt;&lt;br /&gt;Generating a keypair is really simple and using it to sign bytes is as simple as using a symmetric key. Yes you have to protect the private key but not more than you have to protect the symmetric key.&lt;br /&gt;&lt;br /&gt;It is harder to autogenerate code snippets because the generator does not know the private key or how to access it. But is this the point?&lt;br /&gt;&lt;br /&gt;With asymmetric crypto there is no database of keys that can be stolen because the private key is not on a central system. And the developer credentials can not abused by Google operators which is good for audits and Google's liability. &lt;br /&gt;&lt;br /&gt;So why are symmetric keys so ubiquitous? They are nothing than passwords and share some of the problems passwords have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-4091943921765807487?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/Z_RNl29x68M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/4091943921765807487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=4091943921765807487" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4091943921765807487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4091943921765807487?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/Z_RNl29x68M/application-secrets-vs-key-pairs.html" title="Application Secrets vs. Key Pairs" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/05/application-secrets-vs-key-pairs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08FSXk9fip7ImA9WxFXEUQ.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-4588471697820888892</id><published>2010-05-18T15:42:00.006+02:00</published><updated>2010-05-18T16:10:18.766+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-18T16:10:18.766+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iiw2010a" /><category scheme="http://www.blogger.com/atom/ns#" term="openinfocard" /><category scheme="http://www.blogger.com/atom/ns#" term="Information Card Foundation" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenId" /><category scheme="http://www.blogger.com/atom/ns#" term="iiw" /><category scheme="http://www.blogger.com/atom/ns#" term="openid connect" /><category scheme="http://www.blogger.com/atom/ns#" term="oauth" /><title>oauth 2.0 scope is the new black</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2074/1529124811_67fcabab2d_s_d.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 75px; height: 75px;" src="http://farm3.static.flickr.com/2074/1529124811_67fcabab2d_s_d.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daveman692.livejournal.com/"&gt;David&lt;/a&gt;'s &lt;a href="http://openidconnect.com/"&gt;openid connect&lt;/a&gt; proposal uses &lt;a href="http://www.ietf.org/id/draft-ietf-oauth-v2-05.txt"&gt;oauth2.0&lt;/a&gt; to get an access token to access the user's info API.&lt;br /&gt;Openid connect does not define a new flow for oauth but uses a scope with value "openid" to signify that this kind of access token is requested.&lt;br /&gt;&lt;br /&gt;What I am missing here is that there is no way for the client to specify which of the user's information it wants to access. The users might choose to release only a subset of their information at oauth-approval-time but they have no way to know what the client is requesting. I fear that the authorization server suggests to give away all user data and that the user will grant that access.&lt;br /&gt;&lt;br /&gt;A quote from the openid connect proposal: &lt;span style="font-family:monospace; font-size:small"&gt;&amp;quot;The (user info) server is free to add additional data to this response (such as Portable Contacts) so long as they do not change the reserved OpenID Connect keys.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the Facebook notion of privacy to give everything away by default.&lt;br /&gt;I don't like that.&lt;br /&gt;&lt;br /&gt;Even if the client does not want the data it now has access to it.&lt;br /&gt;&lt;br /&gt;I am intentionally not suggesting a different proposal or new values for scope. But what I am thinking about here is probably obvious given the background I am coming &lt;a href="http://informationcard.net/"&gt;from&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-4588471697820888892?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/OA4UP2p6FLg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/4588471697820888892/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=4588471697820888892" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4588471697820888892?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/4588471697820888892?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/OA4UP2p6FLg/oauth-20-scope-is-new-black.html" title="oauth 2.0 scope is the new black" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/05/oauth-20-scope-is-new-black.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UGQng4cCp7ImA9WxFSGUk.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-785455219712220979</id><published>2010-04-19T11:36:00.006+02:00</published><updated>2010-04-22T15:00:23.638+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-22T15:00:23.638+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="openinfocard" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="xauth" /><category scheme="http://www.blogger.com/atom/ns#" term="mozilla" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Chrome" /><title>XAuth is Evil</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_63KXhUQPgSE/S8wqOMWNASI/AAAAAAAAA-w/dfQ3b-nCyWk/s1600/satan.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 120px; height: 145px;" src="http://4.bp.blogspot.com/_63KXhUQPgSE/S8wqOMWNASI/AAAAAAAAA-w/dfQ3b-nCyWk/s400/satan.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5461786871414456610" /&gt;&lt;/a&gt;&lt;br /&gt;Google and &lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt; got it so wrong! Meebo with support by Google published a javascript &lt;a href="http://xauth.org/spec/"&gt;xauth.js&lt;/a&gt; that tells a website which social networks the user is a member of. Information is stored on xauth.org and in local storage what my social networks are.&lt;br /&gt;&lt;br /&gt;This is so wrong that it hurts. Sites should publish which social networks they support and the user should then choose which ONE they would like to use at THIS site at THIS time.&lt;br /&gt;The xauth scheme just transports too much data to a central site too often.&lt;br /&gt;&lt;br /&gt;Google should use its money and power to put this ability into the browser! &lt;br /&gt;Start with Chrome and Mozilla (https://mozillalabs.com/conceptseries/identity/social-agent/). Yes, Google already supports Mozilla in this project but xauth is evil. &lt;br /&gt;&lt;br /&gt;XAuth is not even acceptable as an intermediate "solution" before Identity in the browser is ready. Wrong, wrong, wrong.&lt;br /&gt;&lt;br /&gt;I admit that website operators prefer it this way round and the collected data at the central server is definitely interesting and valuable. I think Google with good reason does not store that data on a Google server or do they? Who has access to that data? XAuth is not as bad as Microsoft Passport but not much better.&lt;br /&gt;I fear that the user and privacy advocates are not strong enough to create "Identity in the browser"...&lt;br /&gt;&lt;br /&gt;Don't do evil.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-785455219712220979?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/5AtQ2cvPO30" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/785455219712220979/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=785455219712220979" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/785455219712220979?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/785455219712220979?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/5AtQ2cvPO30/xauth-is-evil.html" title="XAuth is Evil" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_63KXhUQPgSE/S8wqOMWNASI/AAAAAAAAA-w/dfQ3b-nCyWk/s72-c/satan.gif" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/04/xauth-is-evil.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDQ3k4fCp7ImA9WxFSE0s.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-5450377896112563293</id><published>2010-04-15T23:09:00.004+02:00</published><updated>2010-04-15T23:19:32.734+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-15T23:19:32.734+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OASIS" /><category scheme="http://www.blogger.com/atom/ns#" term="openinfocard" /><category scheme="http://www.blogger.com/atom/ns#" term="ADFS" /><category scheme="http://www.blogger.com/atom/ns#" term="rsac2010US" /><category scheme="http://www.blogger.com/atom/ns#" term="rsac" /><category scheme="http://www.blogger.com/atom/ns#" term="IMI" /><title>SHA256 et al in openinfocard</title><content type="html">I just added support for RSA-SHA256 etc to openinfocard's signature validation. &lt;br /&gt;This came up during the RSA conference' OASIS IMI interop. The cards issued by ADFS2 are signed using RSA-SHA256. The team from the Government of British Columbia suggested to configure ADFS2 to use SHA1 for card signing but this way is better. Openinfocard is now more flexible in regard to signing algorithms. I added all DSA and RSA algorithms from http://www.w3.org/TR/2010/WD-xmlsec-algorithms-20100316/ &lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_63KXhUQPgSE/S8eCrbSiWtI/AAAAAAAAA-o/6JgRT7FR7uQ/s1600/BCeID-card-openinfocard.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://1.bp.blogspot.com/_63KXhUQPgSE/S8eCrbSiWtI/AAAAAAAAA-o/6JgRT7FR7uQ/s400/BCeID-card-openinfocard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5460476755781507794" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-5450377896112563293?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/2kOxSPRcOxk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/5450377896112563293/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=5450377896112563293" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5450377896112563293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5450377896112563293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/2kOxSPRcOxk/sha256-et-al-in-openinfocard.html" title="SHA256 et al in openinfocard" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_63KXhUQPgSE/S8eCrbSiWtI/AAAAAAAAA-o/6JgRT7FR7uQ/s72-c/BCeID-card-openinfocard.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/04/sha256-et-al-in-openinfocard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8AQHs9eSp7ImA9WxFTGEo.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-8015663884471835549</id><published>2010-04-10T07:34:00.003+02:00</published><updated>2010-04-10T07:37:21.561+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-10T07:37:21.561+02:00</app:edited><title>Comments-Policy</title><content type="html">I will delete comments to blog posts on this blog written in a language that I can not read or understand.&lt;br /&gt;I disabled comments on the last blog post because it seems to draw unwanted attraction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-8015663884471835549?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/XE7haiJykPQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/8015663884471835549/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=8015663884471835549" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8015663884471835549?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8015663884471835549?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/XE7haiJykPQ/comments-policy.html" title="Comments-Policy" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/04/comments-policy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEGRnYyeCp7ImA9WxFTGEo.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-2691724912244739298</id><published>2010-03-18T11:13:00.007+01:00</published><updated>2010-04-10T07:33:47.890+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-10T07:33:47.890+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sex" /><category scheme="http://www.blogger.com/atom/ns#" term="information card" /><category scheme="http://www.blogger.com/atom/ns#" term="OASIS" /><category scheme="http://www.blogger.com/atom/ns#" term="gender" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenId" /><category scheme="http://www.blogger.com/atom/ns#" term="ISO" /><category scheme="http://www.blogger.com/atom/ns#" term="IMI" /><title>Identitymanagement and Sex</title><content type="html">I learned something this morning. There is an ISO norm (ISO-5218:2004) that defines the representation of human sexes in IT systems "&lt;a href="http://standards.iso.org/ittf/PubliclyAvailableStandards/c036266_ISO_IEC_5218_2004(E_F).zip"&gt;Codes for the&lt;br /&gt;representation of human sexes&lt;/a&gt;". Probably there is an ISO norm for everything?&lt;br /&gt;&lt;br /&gt;The actual representation looks similar to what is defined in the &lt;a href="http://docs.oasis-open.org/imi/identity/v1.0/identity.html#_Toc205962995"&gt;OASIS Identity Metasystem Interoperability&lt;/a&gt; standard. &lt;br /&gt;&lt;br /&gt;0 - Not known&lt;br /&gt;1 - Male&lt;br /&gt;2 - Female&lt;br /&gt;9 - Not applicable&lt;br /&gt;&lt;br /&gt;IMI does not reference ISO-5218:2004 and "0 - Not known" is something different than "0 - unspecific". I guess the authors of the IMI spec do not know the ISO norm. Or is this due to the English differentiation of "sex" and "gender"? The ISO norm defines "sexes" and the IMI standard defines "Gender".&lt;br /&gt;Interesting is the sheer number of "standards" to represent gender/sex.&lt;br /&gt;http://de.wikipedia.org/wiki/Datenstandards_zur_Beschreibung_des_Geschlechts&lt;br /&gt;(I have not found this in the English version of Wikipedia; Sorry.)&lt;br /&gt;I find it interesting too that "transgender male" and "transgender female" do not exist in many standards. Although it may be inappropriate or even illegal to store the transgender information in a database but this is not the issue. Somebody might want to prove that he was formerly a she. It is better to have a representation in a norm/standard for all cases. The legal issues are outside the standard. ("legal" is always a path to headache for me e.g. http://de.wikipedia.org/wiki/Transsexuellengesetz)&lt;br /&gt;OASIS should always check that new OASIS standards might be aligned to older existing standards. &lt;br /&gt;I think the "gender" section of the IMI standard should be revised.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-2691724912244739298?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/uUvYsb_lD9M" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/2691724912244739298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/2691724912244739298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/uUvYsb_lD9M/identitymanagement-and-sex.html" title="Identitymanagement and Sex" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/03/identitymanagement-and-sex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUASHoycSp7ImA9WxBUEU0.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-9050663996641454423</id><published>2010-02-25T13:52:00.004+01:00</published><updated>2010-02-25T14:07:29.499+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-25T14:07:29.499+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="personas" /><category scheme="http://www.blogger.com/atom/ns#" term="openinfocard" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="UI" /><title>Firefox Personas and openinfocard</title><content type="html">If you have personalized your &lt;a href="http://www.mozilla.com/en-US/firefox/personal.html?from=getfirefox"&gt;Firefox&lt;/a&gt; with &lt;a href="http://www.getpersonas.com/"&gt;Personas&lt;/a&gt; then your &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10292"&gt;openinfocard selector&lt;/a&gt; window now shows the same background image.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4ZzuqhQt7I/AAAAAAAAA-U/08g-UqsteCQ/s1600-h/persona-firefox.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 331px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4ZzuqhQt7I/AAAAAAAAA-U/08g-UqsteCQ/s400/persona-firefox.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442164445248796594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4ZzuWCNoxI/AAAAAAAAA-M/1OCSnclNt08/s1600-h/persona-blue.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 339px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4ZzuWCNoxI/AAAAAAAAA-M/1OCSnclNt08/s400/persona-blue.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442164439749862162" /&gt;&lt;/a&gt;&lt;br /&gt;Which is nice and a security feature too. A malicious website could try to create a window that looks like your favorite openinfocard selector but the website does not know how you personalized your browser. So if your card selector window does not show the same background image as your browser then something is phishy!&lt;br /&gt;&lt;br /&gt;Get the current (xmldap-0.9.9.201002251149.xpi) version of &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10292"&gt;openinfocard&lt;/a&gt; now!&lt;br /&gt;&lt;br /&gt;Did I say that openinfocard runs on MacOS Snowleopard too?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-9050663996641454423?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/rCoAiTmpDdo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/9050663996641454423/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=9050663996641454423" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/9050663996641454423?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/9050663996641454423?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/rCoAiTmpDdo/firefox-personas-and-openinfocard.html" title="Firefox Personas and openinfocard" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_63KXhUQPgSE/S4ZzuqhQt7I/AAAAAAAAA-U/08g-UqsteCQ/s72-c/persona-firefox.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/02/firefox-personas-and-openinfocard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEBSXs9cCp7ImA9WxBVGUk.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-1037158736309537751</id><published>2010-02-23T17:40:00.008+01:00</published><updated>2010-02-23T18:04:18.568+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-23T18:04:18.568+01:00</app:edited><title>Openinfocard openid login @ plaxo</title><content type="html">When I referred to Mike's post about the Microsoft OpenID selector I was reminded to try this at the same site (Plaxo) as Mike. Here we go...&lt;br /&gt;&lt;br /&gt;First I identified a small issue with &lt;a href="http://code.google.com/p/openinfocard/downloads/list"&gt;openinfocard&lt;/a&gt;: The code matches the issuers now case-insensitive. Plaxo asks for "Yahoo.com" while my card says "me.yahoo.com".&lt;br /&gt;So you need the latest version of openinfocard to try this "at home".&lt;br /&gt;&lt;a href="http://openinfocard.googlecode.com/files/xmldap-0.9.9.201002231732.xpi"&gt;http://openinfocard.googlecode.com/files/xmldap-0.9.9.201002231732.xpi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please install this into Firefox3 and browse to &lt;a href="https://www.plaxo.com/signin?test.selector=1"&gt;https://www.plaxo.com/signin?test.selector=1&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_63KXhUQPgSE/S4QHMh-YwJI/AAAAAAAAA9c/82nFKjP7yGs/s1600-h/1-plaxo-login-page.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://1.bp.blogspot.com/_63KXhUQPgSE/S4QHMh-YwJI/AAAAAAAAA9c/82nFKjP7yGs/s400/1-plaxo-login-page.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441482161630265490" /&gt;&lt;/a&gt;&lt;br /&gt;Now click the "Sign in with OpenID" link to start the selector.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4QIj7JZHEI/AAAAAAAAA98/xIe_97YkfBQ/s1600-h/3-plaxo-selected.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4QIj7JZHEI/AAAAAAAAA98/xIe_97YkfBQ/s400/3-plaxo-selected.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441483663035931714" /&gt;&lt;/a&gt;&lt;br /&gt;After selecting a card click "Send" to start openid discovery.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4QIjV-eEUI/AAAAAAAAA90/AML6_NZcsfA/s1600-h/4-discovery.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4QIjV-eEUI/AAAAAAAAA90/AML6_NZcsfA/s400/4-discovery.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441483653058007362" /&gt;&lt;/a&gt;&lt;br /&gt;Yahoo! login and confirmation&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4QIjKc3KWI/AAAAAAAAA9s/HXGwm4OFurk/s1600-h/5-yahoo-login4plaxo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4QIjKc3KWI/AAAAAAAAA9s/HXGwm4OFurk/s400/5-yahoo-login4plaxo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441483649964255586" /&gt;&lt;/a&gt;&lt;br /&gt;Now I am logged in at Plaxo!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4QIjNjgWCI/AAAAAAAAA9k/Br8OW1urkOA/s1600-h/6-plaxo-loggedin.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4QIjNjgWCI/AAAAAAAAA9k/Br8OW1urkOA/s400/6-plaxo-loggedin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441483650797426722" /&gt;&lt;/a&gt;&lt;br /&gt;Nice!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-1037158736309537751?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/YQQ1Tdzhk6o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/1037158736309537751/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=1037158736309537751" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/1037158736309537751?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/1037158736309537751?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/YQQ1Tdzhk6o/openinfocard-openid-login-plaxo.html" title="Openinfocard openid login @ plaxo" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_63KXhUQPgSE/S4QHMh-YwJI/AAAAAAAAA9c/82nFKjP7yGs/s72-c/1-plaxo-login-page.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/02/openinfocard-openid-login-plaxo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIGQnY_eCp7ImA9WxBVGU4.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-734014166215380284</id><published>2010-02-23T15:19:00.010+01:00</published><updated>2010-02-23T16:22:03.840+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-23T16:22:03.840+01:00</app:edited><title>openinfocard OpenID Selector</title><content type="html">Last autumn &lt;a href="http://self-issued.info/?p=235"&gt;Microsoft demoed an OpenID selector&lt;/a&gt; at the OpenID summit hosted by Yahoo.&lt;br /&gt;Now - finally - I found some time to add this to &lt;a href="http://code.google.com/p/openinfocard/downloads/list"&gt;openinfocard&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have Firefox3 and Java6u12 installed then you have everything you need for this. On a Mac you need Snow Leopard to have java6. Thanks to JohnB and Pam for trying openinfocard on a Mac.&lt;br /&gt;&lt;br /&gt;Now install the openinfocard addon into Firefox by e.g. clicking on &lt;a href="http://openinfocard.googlecode.com/files/xmldap-0.9.9.201002121109.xpi"&gt;http://openinfocard.googlecode.com/files/xmldap-0.9.9.201002121109.xpi&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Browse to &lt;a href="https://test-id.org/XP/Selector.aspx"&gt;https://test-id.org/XP/Selector.aspx&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4PmGHiZBMI/AAAAAAAAA8c/RgDLzabkBPo/s1600-h/openinfocard-installed-test-id.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 245px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4PmGHiZBMI/AAAAAAAAA8c/RgDLzabkBPo/s400/openinfocard-installed-test-id.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441445767570588866" /&gt;&lt;/a&gt;&lt;br /&gt;Clicking the button starts the Selector.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PmwifeVxI/AAAAAAAAA8k/BIC9HFu8JLc/s1600-h/card-selector.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PmwifeVxI/AAAAAAAAA8k/BIC9HFu8JLc/s400/card-selector.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441446496360617746" /&gt;&lt;/a&gt;&lt;br /&gt;My Yahoo openid card is shown on a green background because I have visited the openid consumer (test-id.org) before and I have used this card there before.&lt;br /&gt;Clicking the card image selects the card.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4PnMN3Bf6I/AAAAAAAAA8s/Oll2aoFrLV8/s1600-h/card-seleted.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4PnMN3Bf6I/AAAAAAAAA8s/Oll2aoFrLV8/s400/card-seleted.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441446971858583458" /&gt;&lt;/a&gt;&lt;br /&gt;and you can now press "Send" to start the openid dance.&lt;br /&gt;Discovery and Check Immediate are performed:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PopBlc2nI/AAAAAAAAA88/FWxuWUKhsAI/s1600-h/discovery.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PopBlc2nI/AAAAAAAAA88/FWxuWUKhsAI/s400/discovery.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441448566291487346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PnrbCfzAI/AAAAAAAAA80/_fyYPhWJtco/s1600-h/check-immediate.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PnrbCfzAI/AAAAAAAAA80/_fyYPhWJtco/s400/check-immediate.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441447507972312066" /&gt;&lt;/a&gt;&lt;br /&gt;A "setup needed" is received and the Selector closes and we continue in the main browser window.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_63KXhUQPgSE/S4Po5ftm38I/AAAAAAAAA9E/_1GOfZ2MH_8/s1600-h/login-yahoo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 369px;" src="http://1.bp.blogspot.com/_63KXhUQPgSE/S4Po5ftm38I/AAAAAAAAA9E/_1GOfZ2MH_8/s400/login-yahoo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441448849256669122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PpKVFb3NI/AAAAAAAAA9M/OPUTf7ldeR0/s1600-h/confirmation-yahoo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 369px;" src="http://2.bp.blogspot.com/_63KXhUQPgSE/S4PpKVFb3NI/AAAAAAAAA9M/OPUTf7ldeR0/s400/confirmation-yahoo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441449138461596882" /&gt;&lt;/a&gt;&lt;br /&gt;The final window: "You passed the test".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S4Ppe5euskI/AAAAAAAAA9U/6LtZca7Ku1k/s1600-h/you-passed-the-test.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 369px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S4Ppe5euskI/AAAAAAAAA9U/6LtZca7Ku1k/s400/you-passed-the-test.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441449491828748866" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-734014166215380284?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/lCNJ3CCkIWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/734014166215380284/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=734014166215380284" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/734014166215380284?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/734014166215380284?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/lCNJ3CCkIWk/openinfocard-openid-selector.html" title="openinfocard OpenID Selector" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_63KXhUQPgSE/S4PmGHiZBMI/AAAAAAAAA8c/RgDLzabkBPo/s72-c/openinfocard-installed-test-id.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/02/openinfocard-openid-selector.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUBQ3g9eCp7ImA9WxBXFEQ.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-5934639871220258278</id><published>2010-01-26T08:41:00.002+01:00</published><updated>2010-01-26T10:30:52.660+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-26T10:30:52.660+01:00</app:edited><title>interop.ca.com for RSA 2010</title><content type="html">A quick visit of the &lt;a href="http://code.google.com/p/openinfocard/downloads/list"&gt;openinfocard&lt;/a&gt; card selector to CA's &lt;a href="http://interop.ca.com/infocard/"&gt;interop&lt;/a&gt; site for RSA 2010.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_63KXhUQPgSE/S15zp1nHGDI/AAAAAAAAA7M/8QWY0IxNUEw/s1600-h/start.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 197px;" src="http://3.bp.blogspot.com/_63KXhUQPgSE/S15zp1nHGDI/AAAAAAAAA7M/8QWY0IxNUEw/s400/start.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5430905363258349618" /&gt;&lt;/a&gt;&lt;br /&gt;Hm, clicking the purple-i does ... nothing; but clicking the link next to it does the job.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_63KXhUQPgSE/S150eP6DVbI/AAAAAAAAA7U/HuBYtnl9qLM/s1600-h/login.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://4.bp.blogspot.com/_63KXhUQPgSE/S150eP6DVbI/AAAAAAAAA7U/HuBYtnl9qLM/s400/login.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5430906263670314418" /&gt;&lt;/a&gt;&lt;br /&gt;Now clicking the purple-i - either on the page or on the URL-bar or on the status-bar - starts the selector.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_63KXhUQPgSE/S151E6hh3YI/AAAAAAAAA7c/hVJx9MH9jGA/s1600-h/openinfocard.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 218px;" src="http://1.bp.blogspot.com/_63KXhUQPgSE/S151E6hh3YI/AAAAAAAAA7c/hVJx9MH9jGA/s400/openinfocard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5430906927945211266" /&gt;&lt;/a&gt;&lt;br /&gt;Please note the card with the name "sechs" has a green background because I used it at this site before. Noteworthy too: The selector shows Verisign's issuer logo of CA's SSL certificate.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_63KXhUQPgSE/S161kILvK7I/AAAAAAAAA7k/qLZy5b5xFmU/s1600-h/claimsTransmitted.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 245px;" src="http://4.bp.blogspot.com/_63KXhUQPgSE/S161kILvK7I/AAAAAAAAA7k/qLZy5b5xFmU/s400/claimsTransmitted.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5430977832932027314" /&gt;&lt;/a&gt;&lt;br /&gt;Please update your openinfocard selector to the latest version before trying this interop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-5934639871220258278?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/67F3az9ctrg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/5934639871220258278/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=5934639871220258278" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5934639871220258278?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/5934639871220258278?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/67F3az9ctrg/interopcacom-for-rsa-2010.html" title="interop.ca.com for RSA 2010" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_63KXhUQPgSE/S15zp1nHGDI/AAAAAAAAA7M/8QWY0IxNUEw/s72-c/start.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/01/interopcacom-for-rsa-2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkECR349eip7ImA9WxBQEk0.&quot;"><id>tag:blogger.com,1999:blog-37220752.post-8698505725101766424</id><published>2010-01-11T09:47:00.003+01:00</published><updated>2010-01-11T10:04:26.062+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-11T10:04:26.062+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="certificate" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>Microsoft Update Certificate Woes</title><content type="html">When I choose "Start -&gt; Microsoft Update" on my Windows system IE starts and shows http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=de .&lt;br /&gt;Security paranoid as I am I have HTTPS://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=de in my list of "trusted" sites but not the HTTP-site. I am willing to pay the price to have to add the "s" after "http" every time. No problem.&lt;br /&gt;&lt;br /&gt;What annoys me is that since some time ago the certificate is issued to "www.update.microsoft.com" but not for "update.microsoft.com". &lt;br /&gt;I admit that maybe I am not supposed to visit this site because I edited the URL by hand but come on Microsoft: Please buy another certificate or configure the server to redirect me to the one and only with the correct certificate. (This prepending "www" to every webserver is stupid anyway. Leave that to the companies that are 90% marketing and 10% feature)&lt;br /&gt;&lt;br /&gt;All OS-updates should be over HTTPS anyway. CPUs are cheap! Buy some more if the encryption is a performance issue. I want that extra SSL security.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37220752-8698505725101766424?l=ignisvulpis.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ignisvulpis/~4/8TiomjiDH1s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ignisvulpis.blogspot.com/feeds/8698505725101766424/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37220752&amp;postID=8698505725101766424" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8698505725101766424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37220752/posts/default/8698505725101766424?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ignisvulpis/~3/8TiomjiDH1s/microsoft-update-certificate-woes.html" title="Microsoft Update Certificate Woes" /><author><name>Axel Nennker</name><uri>https://profiles.google.com/111887082778273605100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-Y-lgQH_nEOU/AAAAAAAAAAI/AAAAAAAAAAA/QpuImEJcee8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ignisvulpis.blogspot.com/2010/01/microsoft-update-certificate-woes.html</feedburner:origLink></entry></feed>

