Agent UI (Thank You)

Last week, I spent some time fixing an issue with map UI component. I am feeling pretty good with how Agent Profile pages look now. About two month ago, people were debating on committing resources to build UI components for these profile pages. Agent team emphasized that these UI components have to be implemented ASAP, so that they can be tested before the product (OpenSSO Enterprise) is shipped. And, I have the same sentiment.

So we found time to get the base version of Agent UI implemented. From then to now, Agent team is constantly testing these components and report back issues. I really like this iterative process. Report issues -> Fix them -> Test again -> ….

And now, Agent Profile pages are more friendly to use; and have less rooms for user input errors. I have to thank the Agent team for being so proactive in this effort. Thank You.

Sun OpenSSO Enterprise

We are re-branding Federated Access Manager to Sun OpenSSO Enterprise. Over this couple of weeks, you will see changes in console, login page, online help, wiki, etc. related to this.

I am committing these changes soon.

1. Rename binaries

famAdminTools.zip -> ssoAdminTools.zip
fam-client-jdk14.war -> opensso-client-jdk14.war
fam-client-jdk15.war -> opensso-client-jdk15.war
fam-client.zip -> opensso-client.zip
opensso.jar -> amserver.jar
fam.jar -> opensso.jar
fam-public-javadocs.jar -> opensso-public-javadocs.jar
fam-server-test.zip -> opensso-server-test.zip
famSessionTools.zip -> openssoSessionTools.zip
famwssproviders.zip -> openssowssproviders.zip
famwssproviders.jar -> openssowssproviders.jar

2. Rename CLI from famadm to ssoadm and famadm.jsp to ssoadm.jsp

3. Change Product name image in Login and Console page to Sun OpenSSO Enterprise

Followings are the changes that have to happen

1. console online help changes
2. properties files changes for other locale.
3. web agent and J2EE agent changes

OpenSSO Extension: WSS Proxy

WSS Proxy provides a simple way of securing web services. We have a short paper that provides high level details.

source code is under /opensso/extensions/wssproxy

Adding Extended Characters to Java Properties File

Recently, I was updating the copyrights text in amConsole.properties.
the copyrights text contains extended ASCII characters because part
of the copyrights/license is in France.

Java Properties file cannot have extended ASCII characters, we need to
have them in Hex e.g. \u00e0 for à

Here is a small program that converted extended ASCII characters to
Hex.

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class StringToHex {
    private static String charToHex(char c) {
        StringBuffer buffer = new StringBuffer();
        if (c <= 0x7E) {
            buffer.append(c);
        } else {
            buffer.append("\\u");
            String hex = Integer.toHexString(c);
            for (int j = hex.length(); j < 4; j++ ) {
                buffer.append('0');
            }
            buffer.append(hex);
        }
        return buffer.toString();
    }

    private static String readInput(String fileName) {
        StringBuffer buffer = new StringBuffer();
        try {
            FileInputStream fis = new FileInputStream(fileName);
            InputStreamReader isr = new InputStreamReader(fis, "UTF8");
            Reader in = new BufferedReader(isr);
            int ch;
            while ((ch = in.read()) > -1) {
                buffer.append(charToHex((char)ch));
            }
            in.close();
            return buffer.toString();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        if (args.length != 1) {
            System.err.println("Usage: java StringToHex ");
            System.exit(1);
        }

        String inputString = readInput(args[0]);
        if (inputString != null) {
            System.out.println(inputString);
        }
        System.exit(0);
    }
}