<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title></title>
	<atom:link href="http://docteger.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://docteger.wordpress.com</link>
	<description></description>
	<lastBuildDate>Tue, 26 Jan 2010 16:43:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='docteger.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title></title>
		<link>http://docteger.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://docteger.wordpress.com/osd.xml" title="" />
	<atom:link rel='hub' href='http://docteger.wordpress.com/?pushpress=hub'/>
		<item>
		<title>For Your Eyes Only: OpenSSO Express 9 Documentation</title>
		<link>http://docteger.wordpress.com/2010/01/26/for-your-eyes-only-opensso-express-9-documentation/</link>
		<comments>http://docteger.wordpress.com/2010/01/26/for-your-eyes-only-opensso-express-9-documentation/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 16:43:35 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/26/for-your-eyes-only-opensso-express-9-documentation/</guid>
		<description><![CDATA[In anticipation of the release of OpenSSO Express 9, we&#8217;ve uncovered the documentation. The Parent Page for OpenSSO Express 9 contains links to wiki articles you may not (or may ;&#62;) have seen including: Authenticating to the OpenSSO Express 9 Monitoring Service Configuring the OpenSSO Express 9 Java Fedlet for XACML Query More Entitlements Service [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=462&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In anticipation of the release of OpenSSO Express 9, we&#8217;ve uncovered the documentation. The <a href="http://wikis.sun.com/x/x4YZCw" target="_blank">Parent Page for OpenSSO Express 9</a> contains links to wiki articles you may not (or may ;&gt;) have seen including:  <UL><LI>Authenticating to the OpenSSO Express 9 Monitoring Service</LI> <LI>Configuring the OpenSSO Express 9 Java Fedlet for XACML Query</LI> <LI>More Entitlements Service Subcommands and Options for the ssoadm Command Line Interface in OpenSSO Express 9</LI> <LI>Deploying OpenSSO Express 9 on an IBM WebSphere Application Server 7.0 Web Container</LI> <LI>OpenSSO Express 9 MIB File for Monitoring Service</LI> <LI>Rebuilding the Indexes for an Embedded OpenDS Data Store in OpenSSO Express 9</LI> <LI>XACML Subcommands and Options for the ssoadm Command Line Interface in OpenSSO Express 9</LI> <LI>Implementing ASP.NET Fedlet Single Logout with OpenSSO Express 9</LI> <LI>Introducing the OpenSSO Express 9 Entitlements Service REST Interfaces</LI> <LI>New Functionality for the OpenSSO Express 9 Java Fedlet</LI> <LI>New Functionality for Web Services Security in OpenSSO Express 9</LI> <LI>New Functionality in the OpenSSO Express 9 Standard and Beta Administration Consoles</LI> <LI>Using the OpenSSO Express 9 REST Privilege Management Interfaces</LI> <LI>Introducing the OpenSSO OAuth Token Service (Express 9 Early Access)</LI> <LI>Rebuilding the OpenDS Indexes for a Remote User Data Store in OpenSSO Express 9</LI> <LI>Using Microsoft Active Directory 2008 as the OpenSSO Express 9 User Data Store</LI> <LI>Using the OpenSSO Express 9 REST Listener Management Interfaces</LI> <LI>Using the OpenSSO Express 9 REST Policy Evaluation Interfaces</LI></UL>  Now check out Sheena Easton singing the James Bond theme, <i>For Your Eyes Only</i>.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/26/for-your-eyes-only-opensso-express-9-documentation/"><img src="http://img.youtube.com/vi/J2-SZyFZK1U/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/462/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=462&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/26/for-your-eyes-only-opensso-express-9-documentation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Sun &amp; Oracle: EU Has No More Tears</title>
		<link>http://docteger.wordpress.com/2010/01/21/sun-oracle-eu-has-no-more-tears/</link>
		<comments>http://docteger.wordpress.com/2010/01/21/sun-oracle-eu-has-no-more-tears/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 09:58:19 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/21/sun-oracle-eu-has-no-more-tears/</guid>
		<description><![CDATA[The European Union cleared Oracle&#8217;s acquisition of Sun this morning. At the same time, Barbra Streisand and Donna Summer cleared the release of this tape of the two singing No More Tears (Enough is Enough). It&#8217;s a capella and direct from the studio.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=463&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The European Union <a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40&amp;format=HTML&amp;aged=0&amp;language=EN&amp;guiLanguage=en" target="_blank">cleared Oracle&#8217;s acquisition of Sun this morning</a>.  <P></p>
<p>  At the same time, Barbra Streisand and Donna Summer cleared the release of this tape of the two singing <i>No More Tears (Enough is Enough)</i>. It&#8217;s a capella and direct from the studio.  <P></p>
<span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/21/sun-oracle-eu-has-no-more-tears/"><img src="http://img.youtube.com/vi/ANOezT_gyiI/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=463&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/21/sun-oracle-eu-has-no-more-tears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Using OpenSSO with Microsoft Geneva Server</title>
		<link>http://docteger.wordpress.com/2010/01/19/using-opensso-with-microsoft-geneva-server/</link>
		<comments>http://docteger.wordpress.com/2010/01/19/using-opensso-with-microsoft-geneva-server/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 12:52:14 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/19/using-opensso-with-microsoft-geneva-server/</guid>
		<description><![CDATA[I just posted MICROSOFT® “GENEVA” SERVER AND SUN OPENSSO: ENABLING UNPRECEDENTED COLLABORATION ACROSS HETEROGENEOUS IT ENVIRONMENTS. This paper (written by another) focuses on Sun OpenSSO Enterprise and Microsoft Geneva Server — specifically, on their common support for the Security Assertion Markup Language (SAML) federation standard as a basis for interoperability. The paper: Presents an overview [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=464&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just posted <a href="https://opensso.dev.java.net/public/use/docs/pdf/MS-Geneva-Sun-OpenSSO.pdf">MICROSOFT® “GENEVA” SERVER AND SUN OPENSSO: ENABLING UNPRECEDENTED COLLABORATION ACROSS HETEROGENEOUS IT ENVIRONMENTS</a>. This paper (written by another) focuses on Sun OpenSSO Enterprise and Microsoft Geneva Server — specifically, on their common support for the Security Assertion Markup Language (SAML) federation standard as a basis for interoperability. The paper:   <UL><LI>Presents an overview of solutions and capabilities, both individual and interoperable solutions.</LI>  <LI>Describes the business benefits of interoperability between the two.</LI>  <LI>Shares detailed use cases demonstrating proven interoperability in real-world federation scenarios.</LI></UL>   But before you leave, it&#8217;s not Geneva, it&#8217;s <i>Vienna</i> by Utravox.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/19/using-opensso-with-microsoft-geneva-server/"><img src="http://img.youtube.com/vi/xJeWySiuq1I/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/464/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=464&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/19/using-opensso-with-microsoft-geneva-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Managing OpenSSO Entitlements Using REST: The End</title>
		<link>http://docteger.wordpress.com/2010/01/15/managing-opensso-entitlements-using-rest-the-end/</link>
		<comments>http://docteger.wordpress.com/2010/01/15/managing-opensso-entitlements-using-rest-the-end/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 10:03:39 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/15/managing-opensso-entitlements-using-rest-the-end/</guid>
		<description><![CDATA[This is the fourth and final part (the end) of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is Authenticating for the OpenSSO Entitlements Service REST Interfaces, part two is Listening for the OpenSSO Entitlements Service Using REST, and part three is Evaluating OpenSSO Entitlements Using REST. With [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=465&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>This is the fourth and final part (the end) of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a>, part two is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_listener_management" target="_blank">Listening for the OpenSSO Entitlements Service Using REST</a>, and part three is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_policy_evaluation" target="_blank">Evaluating OpenSSO Entitlements Using REST</a>.</b>  <P></P>  With the upcoming release of OpenSSO Express 9, REST interfaces in the form of URLs have been developed to search, get, add, modify and remove Entitlement Service privileges (policies). The privilege management interfaces support both HTTP GET, PUT, DELETE, and POST actions, and return JavaScript Object Notation (JSON) objects.  <P></P>  The privilege management URLs begin with the base which can be appended with a specific string based on the action desired. One or more parameters are then added based on the information required by the action. The format of the OpenSSO REST privilege management URL is:  <P></P>  <code>http://<i>OSSO-host</i>:<i>OSSO-port</i>/opensso/ws/1/entitlement/privilege/<i>OpenSSO-REST-string</i>?<i>parameter1</i>=<i>value1</i>&amp;<i>parameter2</i>=<i>value2</i>&amp;<i>parameterN</i>=<i>valueN</i></code>  <P></P>  To search for a privilege or add a new configuration, use the base URL (<code>http://<i>OSSO-host</i>:<i>OSSO-port</i>/opensso/ws/1/entitlement/privilege/</code>), replace <i>OpenSSO-REST-string</i> with the appropriate privilege name, and append the appropriate parameters. If the value of the parameters (<i>value1</i>, <i>value2</i>, &#8230;, <i>valueN</i>) contains unsafe characters, they need to be URL encoded when forming the REST URL. For example, an equal sign (=) needs to be replaced with %3D or an ampersand (&amp;) needs to be replaced with %26.  <P></P>  <i><b>NOTE:</b> Prior to making a call using one of these RESTful interfaces, the subject must authenticate to OpenSSO and get a session token identifier. The SHA1 hashed value of this <code>token.id</code> then needs to be base64 encoded and used as input for these REST URLs. See <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a> for more information.</i>  <P></P>  The following sections contain more information.  <UL><LI><a href="#search">Searching for Privileges</a></LI> <LI><a href="#add">Adding a New Privilege</a></LI> <LI><a href="#retrieve">Retrieving a Privilege Configuration</a></LI> <LI><a href="#modify">Modifying an Existing Privilege</a></LI> <LI><a href="#remove">Removing an Existing Privilege</a></LI></UL>  <a name="search"></a><br />
<h3>Searching for Privileges</h3>
<p>  <P></P>  The <code>privilege</code> interface uses HTTP GET to return a JSON string that lists the configured privileges under a particular realm; by default, the <code>/ Top Level Realm</code> is searched. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>filter</code> defines criteria to narrow down the privileges searched. For example, if there are privileges named as a1, a2, b1 and b2, the filter name=a* would narrow the search to privileges that begin with a. The default value is name=*.</LI></UL>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/privilege?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;filter=name%3Da*</pre>
<p>  This REST call returns a JSON string. The example below means that there is a privilege named <code>example1</code> under the top level realm.
<pre>
{
"statusCode":200,
"statusMessage":"OK",
"body":{
"result":[
"example1"
]
}
}</pre>
<p>   <P></P>  <a name="add"></a><br />
<h3>Adding a New Privilege</h3>
<p>  <P></P>  The <code>privilege</code> interface also uses HTTP POST to add a JSON representation of the defined privilege to the Entitlement Service under a particular realm; by default, the <code>/ Top Level Realm</code>. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>privilege.json</code> defines the privilege configuration as a JSON representation.</LI></UL>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/privilege?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;privilege.json=JSON-representation-of-the-privilege</pre>
<p>  <P></P>  This second example of the REST call is displayed as it might be in an HTTP message to illustrate the request and response exchange of HTTP POST.
<pre>
POST /opensso/ws/1/entitlement/privilege HTTP/1.1
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;privilege.json=JSON-representation-of-the-privilege</pre>
<p>  <P></P>  It returns a JSON string representing the outcome of the action. The example below means a successful POST.
<pre>
{
"statusCode":201,
"statusMessage":"Created",
"body":"Created"
}</pre>
<p>  <P></P>  <a name="retrieve"></a><br />
<h3>Retrieving a Privilege Configuration</h3>
<p>  <P></P>  To get the configuration for a specific privilege, append the privilege name and parameter to the end of the URI. The interface uses HTTP GET to return a JSON representation of the defined privilege. The only parameter is the URL encoded value of the encoded <code>token.id</code> that defines the subject.  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/privilege/example1?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D</pre>
<p>   <P></P>  This REST call returns a JSON representation of privilege <code>example1</code>. The example below means that the subject accessing http://www.example.com must be authenticated.
<pre>
{
"statusCode":200,
"statusMessage":"OK",
"body":{
"result":"{
\"name\":\"example1\",
\"description\":\"desciption\",
\"eSubject\":{
\"state\":\"\",
\"className\":\"com.sun.identity.entitlement.AuthenticatedESubject\"
},
\"entitlement\":{
\"name\":\"entitlement\",
\"applicationName\":\"iPlanetAMWebAgentService\",
\"resourceNames\":[
\"http://www.example.com/*\"
]
\"actionsValues\":{
\"GET\":true
},
}
}"
}
}</pre>
<p>  <P></P>  <a name="modify"></a><br />
<h3>Modifying an Existing Privilege</h3>
<p>  <P></P>  To modify the configuration of an existing privilege, append the privilege name and parameters after the URI. The interface uses HTTP PUT to modify the defined privilege based on a JSON representation used as input. The URL may be populated with the following information.  <UL><LI>The privilege being modified is defined by the <i>OpenSSO-REST-string</i> variable of the URL. In the following example, the privilege being modified is <code>example2</code>.</LI> <LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>privilege.json</code> defines the new privilege configuration as a JSON representation.</LI></UL>
<pre>

http://www.example.com:8080/opensso/ws/1/entitlement/privilege/example2?

subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;privilege.json=JSON-representation-of-the-privilege</pre>
<p>   This second example of the REST call is displayed as it might be in an HTTP message to illustrate the request and response exchange of HTTP PUT.
<pre>
PUT /opensso/ws/1/entitlement/privilege/example2 HTTP/1.1
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;privilege.json=JSON-representation-of-the-privilege</pre>
<p>   This REST call returns a JSON string representing the outcome of the action. The example below means a successful PUT.
<pre>
{
"statusCode":200,
"statusMessage":"OK",
"body":{
"result":"OK"
}
}</pre>
<p>  <P></P>  <a name="remove"></a><br />
<h3>Removing an Existing Privilege</h3>
<p>  <P></P>  To remove an existing privilege, append the privilege name and parameter after the URI. The interface uses HTTP DELETE to remove the defined privilege. The parameter is the URL encoded value of the encoded <code>token.id</code> that defines the subject.  <P></P>
<pre>

http://www.example.com:8080/opensso/ws/1/entitlement/privilege/example2?

subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D</pre>
<p>  <P></P>  This second example of the REST call is displayed as it might be in an HTTP message to illustrate the request and response exchange of HTTP DELETE.  <P></P>  <code>DELETE /opensso/ws/1/entitlement/privilege/example1?subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D HTTP/1.1</code>  <P></P>  This REST call returns a JSON string representing the outcome of the action. The example below means a successful DELETE.  <P></P>
<pre>
{
"statusCode":200,
"statusMessage":"OK",
"body":{
"result":"OK"
}
}</pre>
<p>  <P></P>  I couldn&#8217;t decide whether to end this series with The Doors <i>The End</i> or Nancy Sinatra&#8217;s <i>The End</i>. While searching around I found that Nancy&#8217;s song was being used in a television commercial so here it is (the song not the commerical) with pix of the minx herself.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/15/managing-opensso-entitlements-using-rest-the-end/"><img src="http://img.youtube.com/vi/-29jqrdYbvM/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/465/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=465&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/15/managing-opensso-entitlements-using-rest-the-end/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Evaluating OpenSSO Entitlements Using REST</title>
		<link>http://docteger.wordpress.com/2010/01/14/evaluating-opensso-entitlements-using-rest/</link>
		<comments>http://docteger.wordpress.com/2010/01/14/evaluating-opensso-entitlements-using-rest/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 10:31:52 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/14/evaluating-opensso-entitlements-using-rest/</guid>
		<description><![CDATA[This is part three of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is Authenticating for the OpenSSO Entitlements Service REST Interfaces, part two is Listening for the OpenSSO Entitlements Service Using REST, and part four is Managing OpenSSO Entitlements Using REST. With the upcoming release of OpenSSO [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=466&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>This is part three of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a>, part two is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_listener_management" target="_blank">Listening for the OpenSSO Entitlements Service Using REST</a>, and part four is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_privilege_management_rest" target="_blank">Managing OpenSSO Entitlements Using REST</a>.</b>  <P></P>  With the upcoming release of OpenSSO Express 9, REST interfaces in the form of URLs have been developed to evaluate policies and return decisions from the Entitlements Service. All of the policy evaluation interfaces support HTTP GET and POST actions, and some of them return JavaScript Object Notation (JSON) objects.  <P></P>  The policy evaluation URLs begin with the base which is appended with a specific string based on the action desired. One or more parameters are then added based on the information required by the action. The format of the OpenSSO REST policy evaluation URL is:  <P></P>  <code>http://<i>OSSO-host</i>:<i>OSSO-port</i>/opensso/ws/1/entitlement/<i>OpenSSO-REST-string</i>?<i>parameter1</i>=<i>value1</i>&amp;<i>parameter2</i>=<i>value2</i>&amp;<i>parameterN</i>=<i>valueN</i></code>  <P></P>  The available policy evaluation interfaces (which replace <i>OpenSSO-REST-string</i> in the URL) are <code>decision</code>, <code>entitlement</code>, <code>decisions</code>, and <code>entitlements</code>. If the value of the parameters (<i>value1</i>, <i>value2</i>, &#8230;, <i>valueN</i>) contains unsafe characters, they need to be URL encoded when forming the REST URL. For example, an equal sign (=) needs to be replaced with %3D or an ampersand (&amp;) needs to be replaced with %26.  <P></P>  <i><b>NOTE:</b> Prior to making a call using one of these RESTful interfaces, the subject must authenticate to OpenSSO and get a session token identifier. The SHA1 hashed value of this <code>token.id</code> then needs to be base64 encoded and used as input for these REST URLs. See <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a> for more information.</i>  <P></P>  The following sections contain more information.  <UL><LI><a href="#evaluate">Evaluating a Decision for One Resource</a></LI> <LI><a href="#evaluatereturn">Evaluating a Decision and Returning Additional Information for One Resource</a></LI> <LI><a href="#evaluatemultiple">Evaluating a Decision for Multiple Resources</a></LI> <LI><a href="#evaluateroot">Evaluating a Decision for A Root and Sub Tree Resources</a></LI></UL>  <a name="evaluate"></a><br />
<h3>Evaluating a Decision for One Resource</h3>
<p>  <P></P>  The <code>decision</code> interface returns a plain text string of <code>deny</code> or <code>allow</code> in regards to a request for access. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>action</code> defines the action to be evaluated.</LI> <LI><code>application</code> defines the requested service. This is an optional parameter and the default value is <code>iPlanetAMWebAgentService</code>.</LI> <LI><code>resource</code> defines the resource to be evaluated.</LI> <LI><code>env</code> defines an optional environment map. This map may contain information such as the date and time or the IP address of the client. There is no default parameter. Accepted values include: <OL><LI><code>requestDnsName</code> &#8211; The value would be a set of strings representing the DNS names of the client from which the user is making the request in the form <i>ccc.ccc.ccc</i>. If the <code>env</code> parameter is null or does not define a <code>requestDnsName</code> value, the value is obtained from the user&#8217;s <code>SSOToken</code>.</LI> <LI><code>requestIp</code> &#8211; The value would be a string representation of the IP address of the client from which the user is making the request in the form <i>n.n.n.n</i> where <i>n</i> is a value between 0 and 255, inclusive; for example, <code>env=requestIp%3D125.12.133.1</code>.</LI> <LI><code>requestTime</code> &#8211; For example, <code>env=requestTime%3D1248994000000</code>.</LI> <LI><code>requestTimeZone</code> &#8211; The value would be a Java TimeZone object; for example, an abbreviation such as PST, a full name such as America/Los_Angeles or a custom ID such as GMT-8:00. See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html" target="_blank">TimeZone Java API Reference</a> for more information.</LI></OL></LI></UL>  <P></P>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/decision?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;action=GET
&amp;application=iPlanetAMWebAgentService
&amp;resource=http://www.example.com:80/index.html
&amp;env=requestIp%3D125.12.122.4</pre>
<p>  <P></P>  This example REST call might return a plain text <code>allow</code> if the subject has permission to access http://www.example.com:80/index.html with GET method and client IP address 125.12.122.4.  <P></P>  <a name="evaluatereturn"></a><br />
<h3>Evaluating a Decision and Returning Additional Information for One Resource</h3>
<p>  <P></P>  The entitlement interface returns a list of JSONEntitlement objects in regards to a request for access. Although similar to the decision interface, it allows more information to be returned. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>application</code> defines the requested service. This is an optional parameter and the default value is <code>iPlanetAMWebAgentService</code>.</LI> <LI><code>resource</code> defines the resource to be evaluated.</LI> <LI><code>env</code> defines an optional environment map. This map may contain information such as the date and time or the IP address of the client. There is no default parameter. Accepted values include: <OL><LI><code>requestDnsName</code> &#8211; The value would be a set of strings representing the DNS names of the client from which the user is making the request in the form <i>ccc.ccc.ccc</i>. If the <code>env</code> parameter is null or does not define a <code>requestDnsName</code> value, the value is obtained from the user&#8217;s <code>SSOToken</code>.</LI> <LI><code>requestIp</code> &#8211; The value would be a string representation of the IP address of the client from which the user is making the request in the form <i>n.n.n.n</i> where <i>n</i> is a value between 0 and 255, inclusive; for example, <code>env=requestIp%3D125.12.133.1</code>.</LI> <LI><code>requestTime</code> &#8211; For example, <code>env=requestTime%3D1248994000000</code>.</LI> <LI><code>requestTimeZone</code> &#8211; The value would be a Java TimeZone object; for example, an abbreviation such as PST, a full name such as America/Los_Angeles or a custom ID such as GMT-8:00. See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html" target="_blank">TimeZone Java API Reference</a> for more information.</LI></OL></LI></UL>  <P></P>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/entitlement?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;application=iPlanetAMWebAgentService
&amp;resource=http://www.example.com:80/index.html
&amp;env=requestIp%3D125.12.122.4</pre>
<p>  <P></P>  In the following result for this example, <code>statusCode":200</code> signifies that the REST call has succeeded. Additionally, the policy evaluation confirms that the subject has permission to access http://www.anotherexample.com:80/index.html using the GET method from the client IP address 125.12.122.4.  <P></P>
<pre>{
"statusCode":200,
"statusMessage":"OK"
"body":{
"actionsValues":{"GET":true},
"attributes":{},
"advices":{},
"resourceName":"http://www.anotherexample.com:80/index.html"
}
}</pre>
<p>  <P></P>  <a name="evaluatemultiple"></a><br />
<h3>Evaluating a Decision for Multiple Resources</h3>
<p>  <P></P>  The <code>decisions</code> interface returns a list in the form of a JSONEntitlements object in regards to a request for access to a set of resources. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>application</code> defines the requested service. This is an optional parameter and the default value is <code>iPlanetAMWebAgentService</code>.</LI> <LI><code>resources</code> defines the set of resources to be evaluated. More than one resources parameter may be added to the URL.</LI> <LI><code>env</code> defines an optional environment map. This map may contain information such as the date and time or the IP address of the client. There is no default parameter. Accepted values include: <OL><LI><code>requestDnsName</code> &#8211; The value would be a set of strings representing the DNS names of the client from which the user is making the request in the form <i>ccc.ccc.ccc</i>. If the <code>env</code> parameter is null or does not define a <code>requestDnsName</code> value, the value is obtained from the user&#8217;s <code>SSOToken</code>.</LI> <LI><code>requestIp</code> &#8211; The value would be a string representation of the IP address of the client from which the user is making the request in the form <i>n.n.n.n</i> where <i>n</i> is a value between 0 and 255, inclusive; for example, <code>env=requestIp%3D125.12.133.1</code>.</LI> <LI><code>requestTime</code> &#8211; For example, <code>env=requestTime%3D1248994000000</code>.</LI> <LI><code>requestTimeZone</code> &#8211; The value would be a Java TimeZone object; for example, an abbreviation such as PST, a full name such as America/Los_Angeles or a custom ID such as GMT-8:00. See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html" target="_blank">TimeZone Java API Reference</a> for more information.</LI></OL></LI></UL>  <P></P>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/decisions?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;application=iPlanetAMWebAgentService
&amp;resources=http://www.example1.com:80/index.html
&amp;resources=http://www.example2.com:80/index.html
&amp;resources=http://www.example3.com:80/index.html
&amp;env=requestIp%3D125.12.122.4</pre>
<p>  <P></P>  In the following result for this example, <code>statusCode":200</code> signifies that the REST call has succeeded. Additionally, the policy evaluation confirms that the subject has permission to access http://www.example2.com:80/index.html using the GET method from the client IP address 125.12.122.4. The subject does not have permission, though, to access http://www.example2.com:80/index.html using the GET method from the client IP address 125.12.122.4 because it does not fall within the specified range defined as a condition of the policy: 128.122.18.1 to 128.122.18.254. No decision has been made for the third resource, http://www.example3.com:80/index.html.  <P></P>
<pre>
{
"statusCode":200,
"statusMessage":"OK"
"body":{
"results":[
{
"actionsValues":{"GET":true},
"attributes":{},
"advices":{},
"resourceName":"http://www.example1.com:80/index.html"
}
{
"actionsValues":{"GET":false},
"attributes":{},
"advices":{
"com.sun.identity.entitlement.IPCondition":[
"requestIp=128.122.18.1-128.122.18.254"
]
},
"resourceName":"http://www.example2.com:80/index.html"
}
{
"actionsValues":{},
"attributes":{},
"advices":{},
"resourceName":"http://www.example3.com:80/index.html"
}
]
},
}</pre>
<p>  <P></P>  <a name="evaluateroot"></a><br />
<h3>Evaluating a Decision for A Root and Sub Tree Resources</h3>
<p>  <P></P>  The <code>entitlements</code> interface takes a given root resource and provides the decisions for all of its sub resources. It returns a list in the form of a JSONEntitlements object in regards to the request for access. For example, given the root resource of http://www.example.com, results for all sub resources (including http://www.example.com/hr/*, http://www.example.com/eng/* and http://www.example.com/sales/*) will be returned. The URL may be populated with the following information.  <UL><LI><code>subject</code> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><code>application</code> defines the requested service. This is an optional parameter and the default value is <code>iPlanetAMWebAgentService</code>.</LI> <LI><code>resource</code> defines the root of the set of resources to be evaluated.</LI> <LI><code>env</code> defines an optional environment map. This map may contain information such as the date and time or the IP address of the client. There is no default parameter. Accepted values include: <OL><LI><code>requestDnsName</code> &#8211; The value would be a set of strings representing the DNS names of the client from which the user is making the request in the form <i>ccc.ccc.ccc</i>. If the <code>env</code> parameter is null or does not define a <code>requestDnsName</code> value, the value is obtained from the user&#8217;s <code>SSOToken</code>.</LI> <LI><code>requestIp</code> &#8211; The value would be a string representation of the IP address of the client from which the user is making the request in the form <i>n.n.n.n</i> where <i>n</i> is a value between 0 and 255, inclusive; for example, <code>env=requestIp%3D125.12.133.1</code>.</LI> <LI><code>requestTime</code> &#8211; For example, <code>env=requestTime%3D1248994000000</code>.</LI> <LI><code>requestTimeZone</code> &#8211; The value would be a Java TimeZone object; for example, an abbreviation such as PST, a full name such as America/Los_Angeles or a custom ID such as GMT-8:00. See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html" target="_blank">TimeZone Java API Reference</a> for more information.</LI></OL></LI></UL>  For this example, assume that <code>http://www.examplefour.com:80</code> has two sub resources: <code>/index.html</code> and <code>/hr/index.html</code>.  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/entitlement?
subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;application=iPlanetAMWebAgentService
&amp;resource=http://www.examplefour.com:80
&amp;env=requestIp%3D125.12.122.4</pre>
<p>  In the following result <code>statusCode":200</code> signifies that the REST call has succeeded. Additionally, the policy evaluation confirms that the subject has permission to access http://www.examplefour.com:80/index.html using the GET method from the client IP address 125.12.122.4. The subject does not have permission, though, to access http://www.examplefour.com:80/hr/index.html using the GET method from the client IP address 125.12.122.4 because it does not fall within the specified range defined as a condition of the policy: 128.122.18.1 to 128.122.18.254.
<pre>
{
"statusCode":200,
"statusMessage":"OK"
"body":{
"results":[
{
"actionsValues":{},
"attributes":{},
"advices":{},
"resourceName":"http://www.anotherexample.com:80"
}
{
"actionsValues":{"GET":true},
"attributes":{},
"advices":{},
"resourceName":"http://www.anotherexample.com:80/index.html"
}
{
"actionsValues":{"GET":false},
"attributes":{},
"advices":{
"com.sun.identity.entitlement.IPCondition":[
"requestIp=128.122.18.1-128.122.18.254"
]
},
"resourceName":"http://www.anotherexample.com:80/hr/index.html"
}
]
},
}</pre>
<p>  <P></P>  Be aware though this will not work if you are wicked &#8211; as illustrated by Cage the Elephant in their song <i>Ain&#8217;t No Rest for the Wicked</i>.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/14/evaluating-opensso-entitlements-using-rest/"><img src="http://img.youtube.com/vi/hVSdj45T7jM/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/466/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=466&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/14/evaluating-opensso-entitlements-using-rest/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Listening for the OpenSSO Entitlements Service Using REST</title>
		<link>http://docteger.wordpress.com/2010/01/13/listening-for-the-opensso-entitlements-service-using-rest/</link>
		<comments>http://docteger.wordpress.com/2010/01/13/listening-for-the-opensso-entitlements-service-using-rest/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 09:34:23 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/13/listening-for-the-opensso-entitlements-service-using-rest/</guid>
		<description><![CDATA[This is part two of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is Authenticating for the OpenSSO Entitlements Service REST Interfaces, part three is Evaluating OpenSSO Entitlements Using REST, and part four is Managing OpenSSO Entitlements Using REST. There are RESTful management interfaces that can be used [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=467&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>This is part two of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part one is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a>, part three is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_policy_evaluation" target="_blank">Evaluating OpenSSO Entitlements Using REST</a>, and part four is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_privilege_management_rest" target="_blank">Managing OpenSSO Entitlements Using REST</a>.</b>  <P></P>  There are RESTful management interfaces that can be used to get, add and remove listeners which send notifications to the Entitlements Service when privileges are added, removed, or modified. The listener management interfaces support HTTP GET, DELETE, and POST actions, and returns a JavaScript Object Notation (JSON) object.  <P></P>  The listener management URLs begin with the base which is appended with the encoded URL of the listener. One or more parameters are then added based on the information required by the action. The format of the OpenSSO REST listener management URL is:  <P></P>  <code>http://<i>OSSO-host</i>:<i>OSSO-port</i>/opensso/ws/1/entitlement/listener/<i>encoded-URL</i>?<i>parameter1</i>=<i>value1</i>&amp;<i>parameter2</i>=<i>value2</i>&amp;<i>parameterN</i>=<i>valueN</i></code>  <P></P>  To get or remove a listener configuration, use the base of the URL (<code>http://<i>OSSO-host</i>:<i>OSSO-port</i>/opensso/ws/1/entitlement/listener/</code>) and replace <i>encoded-URL</i> with the appropriate listener URL. To add a new listener, append the base URL with the appropriate parameters. If the value of the parameters (<i>value1</i>, <i>value2</i>, &#8230;, <i>valueN</i>) contains unsafe characters, they need to be URL encoded when forming the REST URL. For example, an equal sign (=) needs to be replaced with %3D or an ampersand (&amp;) needs to be replaced with %26.  <P></P>  <i><b>NOTE:</b> Prior to making a call using one of these RESTful interfaces, the subject must authenticate to OpenSSO and get a session token identifier. The SHA1 hashed value of this <code>token.id</code> then needs to be base64 encoded and used as input for these REST URLs. See <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_service_rest_interfaces" target="_blank">Authenticating for the OpenSSO Entitlements Service REST Interfaces</a> for more information.</i>  <UL><LI><a href="#add">Adding a Listener</a></LI> <LI><a href="#retrieve">Retrieving a Listener</a></LI> <LI><a href="#remove">Removing a Listener</a></LI></UL>  <a name="add"></a><br />
<h3>Adding a Listener</h3>
<p>  <P></P>  This interface uses HTTP POST to add the listener configuration for the specified resource. The URL may be populated with the following information.  <UL><LI><i>url</i> defines the URL of the listener.</LI> <LI><i>subject</i> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI> <LI><i>application</i> defines the generic resource type. See The Entitlements Service In OpenSSO Express 8 for more information.</LI> <LI><i>resources</i> defines one or more resources for which the listener is configured.</LI></UL>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/listener?
url=http%3A%2F%2Fwww.listenerexample.com%2Fnotification
&amp;subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D
&amp;resources=http://www.example1.com/*</pre>
<p>  <P></P>  This REST call returns a JSON object affirming the successful addition of the listener.
<pre>{
"statusCode":201,
"statusMessage":"Created",
"body":"Created"
}</pre>
<p>  <P></P>  <a name="retrieve"></a><br />
<h3>Retrieving a Listener</h3>
<p>  <P></P>  This interface uses HTTP GET to return a JSON representation of the specified listener configuration. The URL may be populated with the following information.  <UL><LI><i>encoded-URL</i> is appended to the end of the REST URL (before the parameters) and is the encoded URL of the listener.</LI> <LI><i>subject</i> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI></UL>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/listener/
http%3A%2F%2Fwww.listenerexample.com%2Fnotification
&amp;subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D</pre>
<p>  <P></P>  This REST call returns a JSON representation of the listener. The example below means that there is a listener for all privileges regarding _http://www.example1.com_.
<pre>{
"statusCode":200,
"statusMessage":"OK",
"body":{
"mapAppToRes":{
"iPlanetAMWebAgentService":[
"http://www.example1.com/*"
]
},
"url":"http://www.listenerresttest.com/notification"
}
}</pre>
<p>  <P></P>  <a name="remove"></a><br />
<h3>Removing a Listener</h3>
<p>  <P></P>  This interface uses HTTP DELETE to remove the specified listener. The URL may be populated with the following information.  <UL><LI><i>encoded-URL</i> is appended to the end of the REST URL (before the parameters) and is the URL of the listener.</LI> <LI><i>subject</i> defines the requesting user using the URL encoded value of the encoded <code>token.id</code>.</LI></UL>  For example:  <P></P>
<pre>http://www.example.com:8080/opensso/ws/1/entitlement/listener/
http%3A%2F%2Fwww.listenerexample.com%2Fnotification
&amp;subject=vd6RXuEnYJl93VWftk9plOzAqfQ%3D</pre>
<p>  <P></P>  This REST call returns a JSON object affirming the successful removal of the listener.  <P></P>
<pre>{
"statusCode":200,
"statusMessage":"OK",
"body":{
"result":"OK"
}
}</pre>
<p>  <P></P>  And while we&#8217;re listening, here&#8217;s Pseudo Echo with their 1981 Aussie hit, <i>Listening</i>.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/13/listening-for-the-opensso-entitlements-service-using-rest/"><img src="http://img.youtube.com/vi/zDrJKmrOo2s/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/467/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/467/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/467/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=467&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/13/listening-for-the-opensso-entitlements-service-using-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Authenticating for the OpenSSO Entitlements Service REST Interfaces</title>
		<link>http://docteger.wordpress.com/2010/01/12/authenticating-for-the-opensso-entitlements-service-rest-interfaces/</link>
		<comments>http://docteger.wordpress.com/2010/01/12/authenticating-for-the-opensso-entitlements-service-rest-interfaces/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:53:49 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/12/authenticating-for-the-opensso-entitlements-service-rest-interfaces/</guid>
		<description><![CDATA[This is part one of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part two is Listening for the OpenSSO Entitlements Service Using REST, part three is Evaluating OpenSSO Entitlements Using REST, and part four is Managing OpenSSO Entitlements Using REST. The OpenSSO Entitlements Service provides fine grained access control. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=468&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>This is part one of a four part series on the OpenSSO REST interfaces for the Entitlements Service. Part two is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_listener_management" target="_blank">Listening for the OpenSSO Entitlements Service Using REST</a>, part three is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_rest_policy_evaluation" target="_blank">Evaluating OpenSSO Entitlements Using REST</a>, and part four is <a href="http://blogs.sun.com/docteger/entry/opensso_entitlements_privilege_management_rest" target="_blank">Managing OpenSSO Entitlements Using REST</a>.</b>  <P></P>  <a href="http://wikis.sun.com/x/t4M_Bw" target="_blank">The OpenSSO Entitlements Service provides fine grained access control.</a> With the upcoming release of OpenSSO Express 9, RESTful interfaces (in the form of URLs) have been developed for the Entitlements Service. (Information on other OpenSSO RESTful interfaces can be found .)  <P></P>  Before using the Entitlements Service REST interfaces, the user making the calls needs to be authenticated and receive a session token identifier. Following authentication, this identifier must be hashed and encoded for input as a parameter value of the Entitlements Service REST URLs. The following sections have more information.  <UL><LI><a href="#authenticate">Authenticating to OpenSSO Before Using REST</a></LI> <LI><a href="#token">Encoding the <code>token.id</code></a></LI></UL>  <a name="authenticate"></a><br />
<h3>Authenticating to OpenSSO Before Using REST</h3>
<p>  Before making a REST call using one of the Entitlements Service URLs, the subject must authenticate to OpenSSO using the <a href="http://blogs.sun.com/docteger/entry/opensso_and_rest" target="_blank"><code>authenticate</code> REST identity interface</a>. This identity call, if successful, will get a session token identifier for the subject that will then be used as input for the Entitlements Service REST URLs. An example of the authenticate REST URL is:  <P></P>  <code>http://www.example.com:8080/opensso/identity/authenticate?username=user1&amp;password=changeme</code>  <P></P>  <i><b>NOTE:</b> For this use, the <code>authenticate</code> URL should use HTTP POST because (the default) HTTP GET logs the user information which might be a security issue in some deployments.</i>  <P></P>  This authenticate call would return a session <code>token.id</code>; for example:  <P></P>  <code>token.id=AQIC5wM2LY4Sfcy9rURsXTOXiNjG2VNFgjtPB6Cw1ICTIK4=@AAJTSQACMDE=#</code>  <P></P>  This session <code>token.id</code> needs to be set as the iPlanetDirectoryPro cookie.  <P></P>  <code>iPlanetDirectoryPro=AQIC5wM2LY4Sfcy9rURsXTOXiNjG2VNFgjtPB6Cw1ICTIK4=@AAJTSQACMDE=#</code>   <P></P>  Additionally, a SHA1-hashed and base64 encoded string needs to be generated from the value of the <code>token.id</code>. This encoded string, representing the user, will be passed as a parameter with every REST call.   <P></P>  <a name="token"></a><br />
<h3>Encoding the <code>token.id</code></h3>
<p>  This procedure will generate a SHA1-hashed and base64 encoded string from the session <code>token.id</code> previously returned.  <OL><LI>Compile the <a href="https://opensso.dev.java.net/public/use/docs/fampdf/Encoder.java" target="_blank"><code>Encoder.java</code> code found on opensso.dev.java.net</a>.  <P></P>  <code>javac Encoder.java</code></LI>  <P></P>  <LI>Run the compiled Encoder to hash and encode the session <code>token.id</code>.  <P></P>  <code>java Encoder AQIC5wM2LY4Sfcy9rURsXTOXiNjG2VNFgjtPB6Cw1ICTIK4=@AAJTSQACMDE=</code></LI></OL>  <P></P>  The Encoder returns a string such as <code>vd6RXuEnYJl93VWftk9plOzAqfQ=</code>. This string is a SHA1 hash that is also base64 encoded. It must be passed as a parameter with every REST call to indicate the subject; for example:  <P></P>  <code>subject=vd6RXuEnYJl93VWftk9plOzAqfQ=<code>  <P></P>   The actual information on the Entitlements Service REST interfaces will be forthcoming. (And this entry will make more sense. ;&gt; ) It includes policy evaluation, privilege management and listener management REST interfaces. In the meantime, take the <i>Rest of the Day Off</i> from Neil Finn's 2001 album - Bowie-esque from his <i>Heroes</i> period.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/12/authenticating-for-the-opensso-entitlements-service-rest-interfaces/"><img src="http://img.youtube.com/vi/mHkw93tShEE/2.jpg" alt="" /></a></span>  <HR></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/468/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=468&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/12/authenticating-for-the-opensso-entitlements-service-rest-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Born To Change a Configured OpenSSO Host Name</title>
		<link>http://docteger.wordpress.com/2010/01/08/born-to-change-a-configured-opensso-host-name/</link>
		<comments>http://docteger.wordpress.com/2010/01/08/born-to-change-a-configured-opensso-host-name/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:32:56 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/08/born-to-change-a-configured-opensso-host-name/</guid>
		<description><![CDATA[After opensso.war is deployed in a web container, the installed OpenSSO instance is uniquely identified by a URL defined with a protocol (http/https), a host name, a port and a deployment URI; for example, http://ipg-test2.sun.com:8080/opensso. This URL is defined in the OpenSSO bootstrap file as well as in various places in the service conﬁguration data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=469&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After <code>opensso.war</code> is deployed in a web container, the installed OpenSSO instance is uniquely identified by a URL defined with a protocol (http/https), a host name, a port and a deployment URI; for example, <code>http://ipg-test2.sun.com:8080/opensso</code>. This URL is defined in the OpenSSO <code>bootstrap</code> file as well as in various places in the service conﬁguration data store.   <P></P>  When the web container on which OpenSSO is deployed is restarted, OpenSSO uses the <code>bootstrap</code> URL to locate its system properties in the service conﬁguration data store and start itself. Additionally, almost all federation and web services endpoints contain this URL. Thus, to change the host name on which the instance of OpenSSO has been installed, use the first procedure in this entry. The second procedure documents how to restore the previous host name.  <P></P>  <a href="#change">To Change the OpenSSO Host Name</a><br /> <a href="#restore">To Restore the Previous Configuration</a>  <P></P>  <a name="change"></a><br />
<h3>To Change the OpenSSO Host Name</h3>
<p>  <P></P>   For this example procedure, assume the current OpenSSO URL is <code>http://current.example.com:58080/opensso</code>, and the new OpenSSO URL will be <code>http://new.example1.com:8080/opensso1</code>.   <OL><LI>Login to the OpenSSO console as administrator; by default, <code>amadmin</code>.</LI> <LI>Click the Access Control tab.</LI> <LI>Click <code>/ Top Level Realm</code>.</LI> <LI>Add the new host name as a value for the Realm/DNS Aliases attribute. For example, <code>new.example1.com</code>.</LI>  <LI>Export the service conﬁguration data to a file named <code>export.xml</code>.<br /> See <a href="http://docs.sun.com/app/docs/doc/820-3885/backup?a=view" target="_blank">Backing Up and Restoring Configuration Data</a> for information.</LI>  <LI>Copy <code>export.xml</code> to <code>new.xml</code>.</LI>  <LI>Open <code>new.xml</code> and make the following changes. <OL type="a"><LI>Search for <code>&#60;SubConﬁguration name=”http:&#47;&#47;current.example.com:58080&#47;opensso” id=”server”&#62;</code> and: <UL><LI>Change <code>&#60;Value&#62;com.iplanet.am.services.deploymentDescriptor=&#47;opensso&#60;/Value&#62;</code> to <code>&#60;Value&#62;com.iplanet.am.services.deploymentDescriptor=&#47;opensso1&#60;/Value&#62;</code></LI> <LI>Change <code>&#60;Value&#62;com.iplanet.am.server.port=58080&#60;/Value&#62;</code> to <code>&#60;Value&#62;com.iplanet.am.server.port=8080&#60;/Value&#62;</code></LI>  <LI>Change <code>&#60;Value&#62;com.iplanet.am.server.host=current.example.com&#60;/Value&#62;</code> to  <code>&#60;Value&#62;com.iplanet.am.server.host=new.example1.com&#60;/Value&#62;</code></LI></UL></LI> <LI>Search for <code>&#60;Service name=”iPlanetAMAuthConﬁguration” version=”1.0”&#62;&#60;Schema i18nFileName=”amAuthConﬁg” i18nKey=”iplanet-am-auth-conﬁg-service-description” propertiesViewBeanURL=”opensso/auth/ACServiceInstanceList”&#62;</code> and change <code>opensso</code> to <code>opensso1</code>.</LI>  <LI>Search for <code>&#60;SubSchema inheritance=”multiple” maintainPriority=”no” name=”NamedConﬁguration” supportsApplicableOrganization=”no” validate=”yes”&#62;&#60;AttributeSchema cosQualiﬁer=”default” i18nKey=”a101” isSearchable=”no” name=”iplanet-am-auth-conﬁguration” propertiesViewBeanURL=”opensso/auth/ACModuleList”&#62;</code> and change <code>opensso</code> to <code>opensso1</code>.</LI>  <LI>Search for <code>&#60;AttributeSchema cosQualiﬁer=”default” i18nKey=”a133” isSearchable=”no” name=”iplanet-am-auth-login-success-url” syntax=”string” type=”list”&#62;&#60;DefaultValues&#62;&#60;Value&#62;&#47;opensso&#47;console&#60;/Value&#62;</code> and change <code>opensso/</code> to <code>opensso1/</code>.</LI> <LI>Search for <code>&#60;AttributeValuePair&#62;&#60;Attribute name=”sunOrganizationAliases”/&#62;&#60;Value&#62;opensso&#60;/Value&#62;</code> and change <code>opensso</code> to <code>opensso1</code>.</LI>  <LI>Search for <code>&#60;AttributeSchema cosQualiﬁer=”default” i18nKey=”a103” isSearchable=”no” name=”iplanet-am-platform-cookie-domains” syntax=”string” type=”list”&#62;&#60;DefaultValues&#62;&#60;Value&#62;.example.com&#60;/Value&#62;</code> and change the cookie domain from <code>.example.com</code> to <code>.example1.com</code>.</LI>  <LI>Substitute the following strings: <UL><LI><code>http:&#47;&#47;new.example1.com:8080&#47;opensso1</code> for <code>http:&#47;&#47;current.example.com:58080&#47;opensso</code></LI> <LI><code>new.example1.com:8080</code> for <code>current.example.com:58080</code></LI></UL></LI></OL></LI> <LI>Save <code>new.xml</code>.</LI> <LI>Backup the OpenSSO configuration data.<br />This backup can be used to restore a previous configuration. If the OpenSSO configuration data store is the default embedded OpenDS, backup the contents of <code><i>OpenSSO-ConfigDir</i></code>. <i>OpenSSO-ConfigDir</i> represents the name of the directory specified during initial configuration of OpenSSO as the configuration directory. By default, an <code>opensso</code> directory would be created in the home directory of the user configuring the instance. Thus, if <code>root</code> is configuring the instance, <i>OpenSSO-ConfigDir</i> is <code>/opensso</code>.  If any other directory server is used, work with the administrator to back up the OpenSSO configuration data before proceeding.</LI> <LI>Import <code>new.xml</code> back into OpenSSO.<br /> See <a href="http://docs.sun.com/app/docs/doc/820-3885/backup?a=view" target="_blank">Backing Up and Restoring Configuration Data</a> for information.</LI> <LI>Stop the web container.</LI>  <LI>Replace <code>http%3A%2F%2Fcurrent.example.com%3A58080%2Fopensso</code> with <code>http%3A%2F%2Fnew.example1.com%3A8080%2Fopensso1</code> in the <code><i>OpenSSO-ConfigDir</i>/bootstrap</code> file.<br /> During OpenSSO deployment, a setup servlet creates a file named <code>bootstrap</code> in the OpenSSO configuration directory. This file contains the information that points to a location from which OpenSSO can retrieve configuration data to bootstrap itself. For more information on this file, see <a href="http://blogs.sun.com/docteger/entry/opensso_bootstrap_file_now_with" target="_blank">The OpenSSO Bootstrap File Deconstructed</a>.</LI> <LI>Change the deploy context on the OpenSSO web container to <code>opensso1</code>.<br />Check the your web container&#8217;s documentation for instructions.</LI> <LI>Move <code><i>OpenSSO-ConfigDir</i>/opensso</code> to <code><i>OpenSSO-ConfigDir</i>/opensso1</code>.<br />Be sure to backup this directory first.</LI>  <LI>Change to the <code><i>user-home</i>/.openssocfg</code> directory.<br /> A ﬁle named with the preﬁx <code>AMConﬁg</code> is in this directory; for example, <code>AMConﬁg_usr_local_tomcat_webapps_opensso</code> or  <code>AMConﬁg_opt_jboss-4.2.2.GA_server_fam2_._deploy_opensso.war_</code>. <i>user-home</i> is the home directory of the user who configured the instance of OpenSSO.</LI> <LI>Change <code>opensso</code> in the <code>AMConfig*</code> file to <code>opensso1</code>.  <LI>Start the web container.</LI> <LI>Log in to OpenSSO using the new URL (and host name) as <code>amadmin</code>.</LI> <LI>Click the Access Control tab.</LI> <LI>Click <code>/ Top Level Realm</code>.</LI> <LI>Remove <code>current.example.com</code>, the old host name, from the Realm/DNS Aliases attribute.</LI></OL>  <a name="restore"></a><br />
<h3>To Restore the Previous Configuration</h3>
<p>  <P></P>   This procedure is based on the examples and information used in the previous procedure.  <P></P>  <OL><LI>Edit <code><i>OpenSSO-ConfigDir</i>/bootstrap</code> by changing the new encoded URL back to the old encoded URL.</LI> <LI>Import <code>export.xml</code> back into OpenSSO.</LI> <LI>Change the deploy context on the OpenSSO web container back to <code>opensso</code>. </LI> <LI>Move <code><i>OpenSSO-ConfigDir</i>/opensso1</code> to <code><i>OpenSSO-ConfigDir</i>/opensso</code>.</LI>  <LI>Change <code>opensso1</code> in the <code>AMConfig*</code> file (loca<br />
ted in the <code><i>user-home</i>/.openssocfg</code> directory) back to <code>opensso</code>.  <LI>Restart the web container.</LI></OL>  <P></P>  Now enjoy Patrick Hernandez&#8217;s one hit <i>Born to Be Alive</i>.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/08/born-to-change-a-configured-opensso-host-name/"><img src="http://img.youtube.com/vi/BVgM7qeAlko/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/469/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=469&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/08/born-to-change-a-configured-opensso-host-name/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Happy New Year Authenticating to OpenSSO Monitoring Service</title>
		<link>http://docteger.wordpress.com/2010/01/05/happy-new-year-authenticating-to-opensso-monitoring-service/</link>
		<comments>http://docteger.wordpress.com/2010/01/05/happy-new-year-authenticating-to-opensso-monitoring-service/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 00:00:00 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2010/01/05/happy-new-year-authenticating-to-opensso-monitoring-service/</guid>
		<description><![CDATA[A monitoring framework based on the Java Dynamic Management Kit (JDMK) was introduced in OpenSSO Express Build 8. Access to OpenSSO&#8217;s monitoring data may be via the HTTP, SNMP (Simple Network Management Protocol), or RMI (Remote Method Invocation) interfaces. In OpenSSO Express Build 9 (and currently available in the nightly build), access to the Monitoring [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=470&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A monitoring framework based on the Java Dynamic Management Kit (JDMK) was <a href="http://wikis.sun.com/x/xgFJC" target="_blank">introduced in OpenSSO Express Build 8</a>. Access to OpenSSO&#8217;s monitoring data may be via the HTTP, SNMP (Simple Network Management Protocol), or RMI (Remote Method Invocation) interfaces.   <P></P>  In OpenSSO Express Build 9 (and currently available in the nightly build), access to the Monitoring Service&#8217;s HTTP interface has been modified to require authentication to access OpenSSO monitoring data through the HTTP interface. (An HTML Protocol Adaptor comes with the JDMK and is used to authenticate. See <a href="http://docs.sun.com/app/docs/doc/806-6631/6jfifb7v3?a=view" target="_blank">The HTML Protocol Adaptor</a> for more information.)  <P></P>  The <code>opensso_mon_auth</code> file contains the name and password of the user (or users) with permission to log in and see the OpenSSO monitoring data. It is located in the <code>/<i>ConfigurationDirectory</i>/<i>install-URI</i>/</code> directory created during the OpenSSO installation; by default, <code>/opensso/opensso/opensso_mon_auth</code>. The file initially contains the user <code>demo</code> with an encrypted value equal to the password <code>changeit</code>. This user can be replaced or additional users added to the file. Type any user identifier followed by a space and the encrypted value of the user&#8217;s password. The user name is case-sensitive and the password must be encrypted using the <code>ampassword</code> command line tool. It is located in the <code>ssoAdminTools.zip</code> which is in the <code>tools</code> directory of the expanded <code>opensso.zip</code>. For more information see <a href="http://docs.sun.com/app/docs/doc/820-3320/gfxtl?a=view" target="_blank">Installing the OpenSSO Enterprise Utilities and Scripts</a>.  <P></P>  <i><b>NOTE</b>: The user in this file is not tied in any respect to the OpenSSO user data store. Authentication to the monitoring data using the HTML Protocol Adaptor is a separate authentication process from that of OpenSSO.</i>  <P></P>  Now just a little wish from ABBA (and me, by proxy) for all to enjoy the new year and decade. <i>Happy New Year</i> from the <b>Super Trouper</b> LP &#8211; an acronym from many new years ago.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2010/01/05/happy-new-year-authenticating-to-opensso-monitoring-service/"><img src="http://img.youtube.com/vi/dcLMH8pwusw/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/470/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=470&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2010/01/05/happy-new-year-authenticating-to-opensso-monitoring-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
		<item>
		<title>Importing the Root CA Certificate for Secure OpenSSO Rainbow Connections</title>
		<link>http://docteger.wordpress.com/2009/12/22/importing-the-root-ca-certificate-for-secure-opensso-rainbow-connections/</link>
		<comments>http://docteger.wordpress.com/2009/12/22/importing-the-root-ca-certificate-for-secure-opensso-rainbow-connections/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 09:34:00 +0000</pubDate>
		<dc:creator>docteger</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://docteger.wordpress.com/2009/12/22/importing-the-root-ca-certificate-for-secure-opensso-rainbow-connections/</guid>
		<description><![CDATA[When configuring OpenSSO for a scenario that involves a secure connection (SSL or LDAPS) and multiple JVMs, you need to import the root CA certificate into the JVM trust store (by default JAVA_HOME/jre/lib/security/cacerts) and restart the OpenSSO web container before performing any configurations. For example, to configure a second instance of OpenSSO in a defined [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=471&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When configuring OpenSSO for a scenario that involves a secure connection (SSL or LDAPS) and multiple JVMs, you need to import the root CA certificate into the JVM trust store (by default <code><i>JAVA_HOME</i>/jre/lib/security/cacerts</code>) and restart the OpenSSO web container before performing any configurations.   <P></P>  For example, to configure a second instance of OpenSSO in a defined Site (when the first instance of OpenSSO is SSL-enabled), the root Certificate Authority (CA) certificate for the first OpenSSO server certificate must be imported into the JVM key store of the web container in which the second instance of OpenSSO is deployed. (Restart the web container of the second instance after the import.)  <P></P>  An example of a command to import a root CA certificate to this key store is:  <P></P>  <code>keytool -import -v -alias <i>alias</i> -keystore <i>JAVA_HOME</i>/jre/lib/security/cacerts -storepass changeit -file CAcert.crt</code>  <P></P>  Use the following command to verify that the root CA certificate was imported correctly.  <P></P>  <code>keytool -list -keystore <i>JAVA_HOME</i>/jre/lib/security/cacerts -storepass changeit</code>  <P></P>  Now enjoy a secure <i>Rainbow Connection</i> with Deborah Harry and Kermit the Frog.  <P></P>  <span style="text-align:center; display: block;"><a href="http://docteger.wordpress.com/2009/12/22/importing-the-root-ca-certificate-for-secure-opensso-rainbow-connections/"><img src="http://img.youtube.com/vi/lRvhRhWWE44/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/docteger.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/docteger.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/docteger.wordpress.com/471/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=docteger.wordpress.com&amp;blog=9203374&amp;post=471&amp;subd=docteger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://docteger.wordpress.com/2009/12/22/importing-the-root-ca-certificate-for-secure-opensso-rainbow-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50918f38afbd06020c0dea5ac82318cc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">docteger</media:title>
		</media:content>
	</item>
	</channel>
</rss>
