diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java
index bf2007a..c9f511b 100644
--- a/src/com/android/settings/wifi/AccessPointDialog.java
+++ b/src/com/android/settings/wifi/AccessPointDialog.java
@@ -84,6 +84,7 @@
             AccessPointState.WEP_PASSWORD_HEX
     };
     private static final String NOT_APPLICABLE = "N/A";
+    private static final String BLOB_HEADER = "blob://";
 
     // Button positions, default to impossible values
     private int mConnectButtonPos = Integer.MAX_VALUE; 
@@ -528,7 +529,8 @@
       if (passwordIsEmpty && (!mState.hasPassword() ||
               mMode == MODE_RETRY_PASSWORD) &&
               (mState.security != null) &&
-              !mState.security.equals(AccessPointState.OPEN)) {
+              !mState.security.equals(AccessPointState.OPEN) &&
+              !mState.isEnterprise()) {
           new AlertDialog.Builder(getContext())
                   .setTitle(R.string.error_title)
                   .setIcon(android.R.drawable.ic_dialog_alert)
@@ -642,12 +644,12 @@
             value = mCertTool.getUserCertificate(key);
             if (!TextUtils.isEmpty(value)) {
                 mState.setEnterpriseField(AccessPointState.CLIENT_CERT,
-                        value);
+                        BLOB_HEADER + value);
             }
             value = mCertTool.getUserPrivateKey(key);
             if (!TextUtils.isEmpty(value)) {
                 mState.setEnterpriseField(AccessPointState.PRIVATE_KEY,
-                        value);
+                        BLOB_HEADER + value);
             }
         }
         spinner = mCaCertSpinner;
@@ -657,7 +659,7 @@
             value = mCertTool.getCaCertificate(key);
             if (!TextUtils.isEmpty(value)) {
                 mState.setEnterpriseField(AccessPointState.CA_CERT,
-                        value);
+                        BLOB_HEADER + value);
             }
         }
         switch (securityType) {
