вторник, 7 мая 2013 г.

ObSSOCookie Parser

Маленький класс, который показывает содержимое ObSSOCookie.
На вход подаётся шифрованная кука. 

Prereq: Oracle Access Manager Access SDK (11.1.1.7.0)
SDK Java API Reference: http://docs.oracle.com/cd/E23943_01/apirefs.1111/e22472/toc.htm

Для компиляции и запуска необходимо добавить в  переменную CLASSPATH путь к архиву oamasdk-api.jar.
export CLASSPATH=/opt/oracle/middleware/webgate/access/oamasdk-api.jar:.







import java.util.*;
import oracle.security.am.asdk.*;

public class cookieParser {
                public static void main(String[] arg) {
                        String cookie = arg[0];
                        try {
                        AccessClient ac = AccessClient.createDefaultInstance("/opt/oracle/middleware/webgate/access",AccessClient.CompatibilityMode.OAM_10G);
                        UserSession sess = new UserSession(cookie);
                        System.out.println("==============================");
                        System.out.println("user: " + sess.getUserIdentity());
                        System.out.println("last use: " + new Date(sess.getLastUseTime()*1000L));
                        System.out.println("getLevel(): " + sess.getLevel());
                        System.out.println("getLocation(): " + sess.getLocation());
                        System.out.println("getSessionToken(): " + sess.getSessionToken());
                        System.out.println("getStartTime(): " +
new Date(sess.getStartTime()*1000L));
                        System.out.print("Session status: ");
                        String status="";
                        switch (sess.getStatus()) {
                                case 0: status = "AWAITINGLOGIN"; break;
                                case 1: status = "LOGGEDIN";break;
                                case 2: status = "LOGGEDOUT";break;
                                case 3: status = "LOGINFAILED";break;
                                case 4: status = "EXPIRED";          break;
                        }
                        System.out.println(status);
                        ac.shutdown();
                        } catch (Exception ex) {
                        ex.printStackTrace();
                        }
        }
}






 


Комментариев нет:

Отправить комментарий