ShowProtectionDomain.java

package fr.umlv.ji.security;
import java.security.*;
public class ShowProtectionDomain {
  public static void main(String[] args) {
    if (args.length==0) {
      System.err.println("Usage: java "+
             ShowProtectionDomain.class.getName()+" <class>");
      System.exit(1);
    }
    try {
      // Récupère l'objet classe
      Class c = Class.forName(args[0]);
      // Récupère le domaine de sécurité statique de la classe
      ProtectionDomain domain = c.getProtectionDomain();
      // Récupère l'objet CodeSource dans le domaine
      System.out.println("Source:" + domain.getCodeSource());
      // Récupère le chargeur de classes
      System.out.println("ClassLoader: " + c.getClassLoader());
      // Récupère l'ensemble des droits (statiques) de la classe
      System.out.println("Droits: " + domain.getPermissions());
    } catch(ClassNotFoundException ex) {
      System.out.println("Classe " + args[0] + " inconnue !");
    }
  }
}