)]}'
{
  "log": [
    {
      "commit": "f35e9663d7bdae523953185b4ad6b6f9e8e7d6ca",
      "tree": "ea3c0019085dceed51740c940a2b33b14c5e6f3a",
      "parents": [
        "1a3c8950394b98f6f354456830208d70e87b8bb6"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 29 11:20:28 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 29 15:20:24 2009 +0800"
      },
      "message": "Add unit test for the new keystore.\n\nSince we need to test the keystore with user system in order to test\nthe reset(), password(), lock() and unlock(), we have to take advantage\nof the ActivityUnitTestCase to run the test with the user \u0027system\u0027.\n"
    },
    {
      "commit": "8c596c6cce542dcd5c73e8b1aaef666757e36ec4",
      "tree": "0822092e3db464d05ffa0e0bff97edc7829d2975",
      "parents": [
        "f1ece5d0c16fa3e79390e41ad9bec020c77d7720"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:32:40 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:32:40 2009 +0800"
      },
      "message": "KeyStore: remove classes used by old keystore.\n"
    },
    {
      "commit": "f1ece5d0c16fa3e79390e41ad9bec020c77d7720",
      "tree": "c5c8b20551a9dcf1bb3dcaf52223866a31164a16",
      "parents": [
        "46a41e0e7f95f43aa7251114f12fd5e2b9933bc7"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:29:58 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:29:58 2009 +0800"
      },
      "message": "KeyStore: return null when response code indicates an error.\n"
    },
    {
      "commit": "ec05c46ea9d1dc175b09f93df0b9fea5a43b2d5a",
      "tree": "206c5b70008d30a0176ebe986efef58a7bc59fc6",
      "parents": [
        "85abdc59c3a31df6dc6ac4f20e64d5c91fa70023"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 24 13:13:44 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 24 13:13:44 2009 +0800"
      },
      "message": "Remove old keystore and related files.\n"
    },
    {
      "commit": "613fcc850686dfe71cec9809c3694be9cf02cdc7",
      "tree": "6e7ef01214267a7d8a09ddd50e77c776af7cdcf4",
      "parents": [
        "1f6802295e2dba50a4549b8a22537dcb4c4dda03"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 03:04:46 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 03:04:46 2009 +0800"
      },
      "message": "KeyStore: rename scan() to saw().\n"
    },
    {
      "commit": "44039172627d1c15737ea73836ad375559d76211",
      "tree": "0f4969e1216a9dbdb863268a2f46375eefb8192d",
      "parents": [
        "626c46b016118edbea3a3938425b5d4e959f6f2d"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Sep 21 11:53:59 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Sep 21 15:52:00 2009 +0800"
      },
      "message": "KeyStore: add java interface.\n"
    },
    {
      "commit": "9b7a3f1a6437605022568cad0b92d5006a2ab391",
      "tree": "4d3dcf473cb06af26bc2b6bc68bd54a65422c92c",
      "parents": [
        "adbc99be6d7e35f71bbbdcdfef5562c5a9b53b07"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 12:00:12 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 12:03:04 2009 +0800"
      },
      "message": "Add a helper class to send out credentials.\n\nChange-Id: I9a550c6edc55d5c2c601223c011922b183cb4d30\n"
    },
    {
      "commit": "5b680802b6774491fbcee69e394d097d4bfcf42e",
      "tree": "7ad1163a5de706df8c48dbc9c1e9c7fd0421fc2a",
      "parents": [
        "972f0e3806f379b7fb6e43265f56ddd91c38107e"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 16 15:43:15 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 17 12:17:29 2009 +0800"
      },
      "message": "Fix a minor bug in is_alnum_string()...\n\nand remove some verbose logging\n"
    },
    {
      "commit": "a7df557aa2573a4718c7bbd069268e62bc036753",
      "tree": "606824416def47dd79b782fb4037aa180fca8d93",
      "parents": [
        "d304ae583d862250a21b5949fc3dbdf3af1febac"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 11 18:34:28 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 11 19:30:13 2009 +0800"
      },
      "message": "Add tests and misc fixes on keystore.\n\n* Refactor netkeystore.c to make client and server code testable.\n* Add a client test for setting new passwd and changing passwd.\n* Exclude \".\" and \"..\" from reset_keystore().\n* Change ServerCommand.executeCommand() to accept variable length of\n  arguments and add convert() to marshalling the args to bytes.\n* Keystore.java is revised accordingly.\n"
    },
    {
      "commit": "9249cc69b83c7b055ae477c4539bdc451fe7f9b9",
      "tree": "c46cac7e798f63e379a5684931cc362d97165f31",
      "parents": [
        "24d237db943051942b5966f5e788d67050ec0ba5"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 08 16:47:51 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 10 12:51:07 2009 +0800"
      },
      "message": "Add two CertTool helper classes.\n\nAlso add the unlock action string to Keystore.\n"
    },
    {
      "commit": "37062b93dcb7c72919be8d33303606cdab936c11",
      "tree": "5bb7c58b073f07777253d25a297b61bac4b67d10",
      "parents": [
        "ccda4c4960ad6694e506e075f8f0b479ea2bafb6"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 10 03:55:33 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 10 03:56:04 2009 +0800"
      },
      "message": "keystore: remove \"#include \u003copenssl/engine.h\u003e\".\n"
    },
    {
      "commit": "801b73f661cbdf92de94b7e552a190fcbbdc3168",
      "tree": "d67ad7b9bca1e97a7cc4ecbab4c6e680933ab1b6",
      "parents": [
        "88e625795943dea84b2e7c32f37e71303143b728"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 08 03:52:45 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 09 15:00:43 2009 +0800"
      },
      "message": "Replace the delimiter whitespace with \u0027\\0\u0027.\n\n+ Use \u0027\\0\u0027 as the delimiter.\n+ Allow whitespace character for keystore password.\n\nIn previous implementation, we use space as the delimiter. That\nwill stop user from using passphrase with whitespace character.\n"
    },
    {
      "commit": "60c821c8eeca28d34fb02cf5e35dadf168e1312e",
      "tree": "7e49e7920894e505e1dfbd02b7c4ad64c8f18f63",
      "parents": [
        "09960230bf3d46ec1e7cbcfd8b07dfe007b9fa96"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 02 11:54:24 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 02 11:54:24 2009 +0800"
      },
      "message": "Print error message if the buffer size is too small.\n"
    },
    {
      "commit": "09960230bf3d46ec1e7cbcfd8b07dfe007b9fa96",
      "tree": "0cdb96cc728125bcae41709a027811cbd6beee2b",
      "parents": [
        "c98d68cd56338ec57695b3c35114fbde88d4bde8"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 01 16:45:13 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 01 16:45:13 2009 +0800"
      },
      "message": "Store CA certificate chain into one single key entry with PEM format.\n\nExtract all CA certificates in a PKCS12 keystore into a single entry in keystore with multiple PEMs.\n"
    },
    {
      "commit": "d21a04c06c0d9b1cb401c30bf6da778010872957",
      "tree": "605df7209d6a7b3adef1459e5ba7e66395a2e6f7",
      "parents": [
        "ed5fede3f8a376ebed46beeb41796838847ad68d",
        "20a1156c6fd30f3ec1336894d6ae7e00298ad65b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 26 20:29:17 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 26 20:29:17 2009 -0700"
      },
      "message": "Merge change 21259 into eclair\n\n* changes:\n  Make certificate-handling-related constants public\n"
    },
    {
      "commit": "969c2eaa3ac2501931b0ce67d831262e6f3d6cf6",
      "tree": "376710b2e2e957a434f4f67d74fed6b650b60fb0",
      "parents": [
        "2685d3b85b3ad5fcb5362abdfb9037fc89deb714",
        "c8ab08aa86aea3b693f731c9e817eeb71ab4c1cd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 18 08:44:43 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 08:44:43 2009 -0700"
      },
      "message": "am c8ab08aa: Merge change 21124 into donut\n\nMerge commit \u0027c8ab08aa86aea3b693f731c9e817eeb71ab4c1cd\u0027 into eclair\n\n* commit \u0027c8ab08aa86aea3b693f731c9e817eeb71ab4c1cd\u0027:\n  Add license-related files\n"
    },
    {
      "commit": "20a1156c6fd30f3ec1336894d6ae7e00298ad65b",
      "tree": "fa4fcc5c2c3d03272493eb572a0d8fd8ed1be24b",
      "parents": [
        "a31deaf4a960058e533da35d6229f7aa8d4f00c1"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 31 20:34:03 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Aug 14 18:35:44 2009 +0800"
      },
      "message": "Make certificate-handling-related constants public\n"
    },
    {
      "commit": "979b142fa508eef5a24dfc874a945f5662f2566e",
      "tree": "b548bab36f110c0ad484b3cdf7d3c33fec2f2a87",
      "parents": [
        "4431a0650774ae72ce89d0f9c90903dcc81fab8b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 13 10:58:11 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 13 10:58:11 2009 -0700"
      },
      "message": "Add license-related files\n\nBUG\u003d1573996\n"
    },
    {
      "commit": "f1ab36f9ab82220de679ff0ca5164995b7d30214",
      "tree": "bdf73fa71e3ac244eb57ba123b634d5ca78b6f52",
      "parents": [
        "0f0767d4daa847314bd9473ef3650d26d1c51c8c"
      ],
      "author": {
        "name": "repo sync",
        "email": "cywang@google.com",
        "time": "Wed Aug 05 18:06:27 2009 +0800"
      },
      "committer": {
        "name": "repo sync",
        "email": "cywang@google.com",
        "time": "Mon Aug 10 16:13:00 2009 +0800"
      },
      "message": "Fix network order for marshalling in keystore interface.\n\nThis will fix the endian issue for heterogeneous architectures in keystore marshalling interface.\n"
    },
    {
      "commit": "dc1d5704a725d207b98de1b117847297958d9148",
      "tree": "dd2e823cd931992d8bbafd054dcfedf567bf7055",
      "parents": [
        "b86bad9493a331a09dd765bc6e725c0aec969ff6"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Aug 03 15:01:58 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Aug 03 15:11:36 2009 +0800"
      },
      "message": "Fix the auto notification cleanup when vpn is disconnected.\n\n+ add the log print if the browser give the incorrect data in addCertificate().\n"
    },
    {
      "commit": "e81f51f44b4cfb8316de1d206038414ee6f6e96b",
      "tree": "e0ea02d004c77df56fb98fc5d9d48b875420ed7f",
      "parents": [
        "1f1602e7291ab2b4d8d76db33c89828b6e58e6c0"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Aug 01 10:11:46 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Aug 01 10:11:46 2009 +0800"
      },
      "message": "Change some log.i to log.d.\n"
    },
    {
      "commit": "fd3db87e28e5b9ed186a15944234f6ff520773c6",
      "tree": "e21771e9cf7e20c51676f7a86ab659592441dffe",
      "parents": [
        "191452378639f1135c9591e21911ce250d140769"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Jul 28 18:37:13 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Jul 28 18:37:13 2009 +0800"
      },
      "message": "Support x509-user-cert mime type in browser.\n\n+ Fix the public key matching and intent parameter mismatch.\n"
    },
    {
      "commit": "191452378639f1135c9591e21911ce250d140769",
      "tree": "f92f5aae2ba422aca3bcd83992176a6e55c097b1",
      "parents": [
        "d0021dcae7f474c062f23a449bdd18be5e882d7e"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Jul 28 15:15:51 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Jul 28 15:18:22 2009 +0800"
      },
      "message": "Forgot to convert the jstring to char* in certificate request.\n"
    },
    {
      "commit": "719eba5bb1fbc72e3b55450f16b38a6be5640055",
      "tree": "edd5b5178e70733642d9d5275d6a6102bcd657f3",
      "parents": [
        "75b681639d3945d22d4ab90856a65a05405d2538"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 24 11:33:45 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 24 11:33:45 2009 +0800"
      },
      "message": "Change to SPKAC certificate request format for keygen.\n"
    },
    {
      "commit": "24988b34919d65d4e66be69ec0885154c47e85b7",
      "tree": "ca4dd6c8e9827c0af5d7ccdedf147ca48f03f734",
      "parents": [
        "841ed8596a745d90822467bc2c0e13880bb59cc9"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jul 22 06:04:58 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jul 22 06:04:58 2009 +0800"
      },
      "message": "Cleanup the old keystore APIs.\n"
    },
    {
      "commit": "22726cf8174fe00a097c89b8da397b10626cdd00",
      "tree": "f724f69a84275a72f1b0f0d7949740b418c17bb2",
      "parents": [
        "8ece3445e8c95d02a47737ea2ac2d52a696143cd"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jul 22 05:31:48 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jul 22 05:35:20 2009 +0800"
      },
      "message": "Return error codes for storing the key/cert in addPkcs12Keystore()\n"
    },
    {
      "commit": "c9c119e7338cab292385118229f884a88fead3a2",
      "tree": "cb4e8f22b73aacbfc45ec80c66b693a47af5e3bc",
      "parents": [
        "f32f746b83826303350417ff9937a6f9e5488f24"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 16 19:54:33 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 18 01:17:20 2009 +0800"
      },
      "message": "Support addPkcs12Keystore function in CertTool library.\n\nThe function will be called from the credential storage for decoding\nthe pkcs12 file and saving the certs/keys into mini-keystore.\n"
    },
    {
      "commit": "699ca3f2518360ea3250ff5a0e5d39e122c64a91",
      "tree": "dcdeefe39f5cb52cc02d63039be4c9a4427eb9bc",
      "parents": [
        "4492bcb851f4ee862a446664eb9045045ebb7b5e"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 04 22:19:51 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sun Jul 05 11:06:01 2009 +0800"
      },
      "message": "Add password field for WiFi configuration.\n\n1. the certtool.h is modified for avoiding the side effect,\n   for saving the configuration with wpa_supplicant.\n2. put the loadLibrary back in CertTool.java\n3. Fix incorrect JNI declarations.\n"
    },
    {
      "commit": "bf20b9963add781a35de658f3228760015a163c9",
      "tree": "ab310659e9be96273833221ba4dbf9863eba1407",
      "parents": [
        "24ad29c6dbbf62096bcb41ddb2fa3975720ee625"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 23:42:12 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 04 00:22:51 2009 +0800"
      },
      "message": "Migrate to the CertTool library.\n\nKeystore is reimplemented and it is mainly for storing\n(key, value) pair generically. The certificate related\nAPIs are moved to the class CertTool instead.\n\nUpdates:\n  Provide the getInstance() which gives the singleton.\n  Fix the missing construction of the BIO in cert.c.\n"
    },
    {
      "commit": "116d890aea63a4191a93412f5cecf5defad25201",
      "tree": "b0bd5d04e6cce6717ecb3d62e19ead62d3fd1a26",
      "parents": [
        "4bca97ecaf04c50d5ed49920d119f9ffa6c29402"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 03 17:38:59 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 03 17:38:59 2009 +0800"
      },
      "message": "Fix null data handling in ServiceCommand.writeCommand()\n"
    },
    {
      "commit": "fa927c046a916fceb077d1ecf2552d76e73da912",
      "tree": "1bd090be6f71aa36b96e3a2218b6f9b97316af3e",
      "parents": [
        "eec11827a6c06b029030f43c8d54fd871cc3347d"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 19:11:11 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 23:08:39 2009 +0800"
      },
      "message": "Remove the null-termination for Java string compatibility.\n\n1. Also change the keyname delimiter in CertTool.java.\n2. Return NOTFOUND if the result.len\u003d\u003d0 in the listKeys().\n3. Define the keystore states in the class Keystore.\n"
    },
    {
      "commit": "eec11827a6c06b029030f43c8d54fd871cc3347d",
      "tree": "6ed138af9f9d632cc6e74dbb517626adb802ac96",
      "parents": [
        "d45dcbec856710f9478ffc5689e7cdf95d757ab8"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 00:22:04 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 18:56:12 2009 +0800"
      },
      "message": "Add CertTool for handling the keygen and certificate download.\n\n1. Have the new Keystore for mini-keystore impelemntation.\n2. Add CertTool library and jni dll for handling keygen and certificates.\n3. Make Reply hidden.\n4. Revert some \u0027incorrect\u0027 change and correct the description.\n"
    },
    {
      "commit": "3af8e9389e008c0076b86cc6b3c6f005e7473d10",
      "tree": "84acce43fa9a460e2d888cea9df28b0bbe1ec5ee",
      "parents": [
        "5254657540b0a6ad54be6229b68fa5626e4ef9e5"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Jun 19 15:03:46 2009 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Jun 19 15:09:34 2009 -0700"
      },
      "message": "Change addCertificate to take byte[] instead of String as we don\u0027t know the encoding.\n\nIn WebView, if we run into the certificate, we will save it to the Keystore instead of sending it to the WebKit.\n"
    },
    {
      "commit": "6d531bf0513de7778c380d649bc0e554478f78f9",
      "tree": "10ac2aad8a0d60d7990a9ac538b64b2d98a5aa15",
      "parents": [
        "653349fe48f2995d9e17b5e0a4110925cffdaeab"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 17 01:29:21 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 17 14:32:05 2009 +0800"
      },
      "message": "Change the keystore APIs.\n\n1. simplify the keypair selection in UI.\n2. add the user certificate and key into the keystore for keygen feature.\n"
    },
    {
      "commit": "396c69ca8d938c8705faf602b87729072bf8839c",
      "tree": "3db9a82ce6f79a804091f6037cb55786d6dd9fb5",
      "parents": [
        "1d51e50d5d484c5d9e620b1d6736adc9aa99ae84"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 16 23:51:51 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 16 23:57:16 2009 +0800"
      },
      "message": "Change the first parameter of Keystore.generateKeyPair() to int.\n\n* changes\n  change the parameter to the index to the supported key strengths\n  remove the exception class as it is not useful now\n"
    },
    {
      "commit": "1d51e50d5d484c5d9e620b1d6736adc9aa99ae84",
      "tree": "20793d63fda275271d8433554591b9157feeb375",
      "parents": [
        "0304325dd72ff8713c8444e909d387af1447f86f"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 16 16:14:14 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 16 17:14:38 2009 +0800"
      },
      "message": "Add keygen API to Keystore.\n"
    },
    {
      "commit": "10e371f18247dc7fb64bfa0f0528501acc17be79",
      "tree": "630ce090cba0314696dd405f6cd3155773cc445a",
      "parents": [
        "a05487dd856222bacf57a41f2dfe1194d3776f05"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 10 18:45:14 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jun 11 17:28:40 2009 +0800"
      },
      "message": "Provide the Keystore feature in the framework.\n\n-- added the keystore library for Java application.\n-- changed the marshalling of the keystore function return.\n"
    }
  ]
}
