Need to use doPrivileged when checking for the conf directory.
diff --git a/activation/src/main/java/javax/activation/MailcapCommandMap.java b/activation/src/main/java/javax/activation/MailcapCommandMap.java
index 7489f0a..0978617 100644
--- a/activation/src/main/java/javax/activation/MailcapCommandMap.java
+++ b/activation/src/main/java/javax/activation/MailcapCommandMap.java
@@ -43,6 +43,8 @@
 import java.util.*;
 import java.io.*;
 import java.net.*;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import com.sun.activation.registries.MailcapFile;
 import com.sun.activation.registries.LogSupport;
 
@@ -145,13 +147,18 @@
     static {
 	String dir = null;
 	try {
-	    String home = System.getProperty("java.home");
-	    String newdir = home + File.separator + "conf";
-	    File conf = new File(newdir);
-	    if (conf.exists())
-		dir = newdir + File.separator;
-	    else
-		dir = home + File.separator + "lib" + File.separator;
+	    dir = (String)AccessController.doPrivileged(
+		new PrivilegedAction() {
+		    public Object run() {
+			String home = System.getProperty("java.home");
+			String newdir = home + File.separator + "conf";
+			File conf = new File(newdir);
+			if (conf.exists())
+			    return newdir + File.separator;
+			else
+			    return home + File.separator + "lib" + File.separator;
+		    }
+		});
 	} catch (Exception ex) {
 	    // ignore any exceptions
 	}
@@ -180,12 +187,14 @@
 	} catch (SecurityException ex) {}
 
 	LogSupport.log("MailcapCommandMap: load SYS");
-	if (confDir != null) {
+	try {
 	    // check system's home
-	    mf = loadFile(confDir + "mailcap");
-	    if (mf != null)
-		dbv.add(mf);
-	}
+	    if (confDir != null) {
+		mf = loadFile(confDir + "mailcap");
+		if (mf != null)
+		    dbv.add(mf);
+	    }
+	} catch (SecurityException ex) {}
 
 	LogSupport.log("MailcapCommandMap: load JAR");
 	// load from the app's jar file
diff --git a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
index 04af8ce..894a4bf 100644
--- a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
+++ b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
@@ -43,6 +43,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import com.sun.activation.registries.MimeTypeFile;
 import com.sun.activation.registries.LogSupport;
 
@@ -97,13 +99,18 @@
     static {
 	String dir = null;
 	try {
-	    String home = System.getProperty("java.home");
-	    String newdir = home + File.separator + "conf";
-	    File conf = new File(newdir);
-	    if (conf.exists())
-		dir = newdir + File.separator;
-	    else
-		dir = home + File.separator + "lib" + File.separator;
+	    dir = (String)AccessController.doPrivileged(
+		new PrivilegedAction() {
+		    public Object run() {
+			String home = System.getProperty("java.home");
+			String newdir = home + File.separator + "conf";
+			File conf = new File(newdir);
+			if (conf.exists())
+			    return newdir + File.separator;
+			else
+			    return home + File.separator + "lib" + File.separator;
+		    }
+		});
 	} catch (Exception ex) {
 	    // ignore any exceptions
 	}
@@ -131,12 +138,14 @@
 	} catch (SecurityException ex) {}
 
 	LogSupport.log("MimetypesFileTypeMap: load SYS");
-	if (confDir != null) {
+	try {
 	    // check system's home
-	    mf = loadFile(confDir + "mime.types");
-	    if (mf != null)
-		dbv.addElement(mf);
-	}
+	    if (confDir != null) {
+		mf = loadFile(confDir + "mime.types");
+		if (mf != null)
+		    dbv.addElement(mf);
+	    }
+	} catch (SecurityException ex) {}
 
 	LogSupport.log("MimetypesFileTypeMap: load JAR");
 	// load from the app's jar file