Remove the null-termination for Java string compatibility.

1. Also change the keyname delimiter in CertTool.java.
2. Return NOTFOUND if the result.len==0 in the listKeys().
3. Define the keystore states in the class Keystore.
diff --git a/cmds/keystore/netkeystore.c b/cmds/keystore/netkeystore.c
index b0d683c..e45e24f6 100644
--- a/cmds/keystore/netkeystore.c
+++ b/cmds/keystore/netkeystore.c
@@ -142,7 +142,7 @@
 static void do_listkeys(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
 {
     reply->retcode = list_keys((const char*)cmd->data, (char*)reply->data);
-    if (!reply->retcode) reply->len = strlen((char*)reply->data) + 1;
+    if (!reply->retcode) reply->len = strlen((char*)reply->data);
 }
 
 // args of get():
diff --git a/keystore/java/android/security/CertTool.java b/keystore/java/android/security/CertTool.java
index 285def2..1dc575b 100644
--- a/keystore/java/android/security/CertTool.java
+++ b/keystore/java/android/security/CertTool.java
@@ -51,7 +51,7 @@
     private static final String USER_CERTIFICATE = "USRCERT";
     private static final String USER_KEY = "USRKEY";
 
-    private static final String KEYNAME_DELIMITER = " ";
+    private static final String KEYNAME_DELIMITER = "_";
     private static final Keystore keystore = Keystore.getInstance();
 
     private native String generateCertificateRequest(int bits, String subject);
diff --git a/keystore/java/android/security/Keystore.java b/keystore/java/android/security/Keystore.java
index 462645a6..1f14da7 100644
--- a/keystore/java/android/security/Keystore.java
+++ b/keystore/java/android/security/Keystore.java
@@ -25,6 +25,12 @@
     private static final String TAG = "Keystore";
     private static final String[] NOTFOUND = new String[0];
 
+    // Keystore States
+    public static final int BOOTUP = 0;
+    public static final int UNINITIALIZED = 1;
+    public static final int LOCKED = 2;
+    public static final int UNLOCKED = 3;
+
     /**
      */
     public static Keystore getInstance() {
@@ -195,9 +201,11 @@
         public String[] listKeys(String namespace) {
             Reply result = mServiceCommand.execute(ServiceCommand.LIST_KEYS,
                     namespace);
-            return (result != null) ? ((result.returnCode != 0) ? NOTFOUND :
-                    new String(result.data, 0, result.len).split("\\s+"))
-                    : NOTFOUND;
+            if ((result == null) || (result.returnCode != 0) ||
+                    (result.len == 0)) {
+                return NOTFOUND;
+            }
+            return new String(result.data, 0, result.len).split("\\s+");
         }
 
         @Override