{"action":"created","issue":{"url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/33","repository_url":"https://api.github.com/repos/Yubico/ykneo-openpgp","labels_url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/33/comments","events_url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/33/events","html_url":"https://github.com/Yubico/ykneo-openpgp/pull/33","id":87086937,"number":33,"title":"Support for private use data objects","user":{"login":"josecastillo","id":106110,"avatar_url":"https://avatars.githubusercontent.com/u/106110?v=3","gravatar_id":"","url":"https://api.github.com/users/josecastillo","html_url":"https://github.com/josecastillo","followers_url":"https://api.github.com/users/josecastillo/followers","following_url":"https://api.github.com/users/josecastillo/following{/other_user}","gists_url":"https://api.github.com/users/josecastillo/gists{/gist_id}","starred_url":"https://api.github.com/users/josecastillo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josecastillo/subscriptions","organizations_url":"https://api.github.com/users/josecastillo/orgs","repos_url":"https://api.github.com/users/josecastillo/repos","events_url":"https://api.github.com/users/josecastillo/events{/privacy}","received_events_url":"https://api.github.com/users/josecastillo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2015-06-10T19:56:47Z","updated_at":"2016-08-22T08:11:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Yubico/ykneo-openpgp/pulls/33","html_url":"https://github.com/Yubico/ykneo-openpgp/pull/33","diff_url":"https://github.com/Yubico/ykneo-openpgp/pull/33.diff","patch_url":"https://github.com/Yubico/ykneo-openpgp/pull/33.patch"},"body":"This pull request adds support for the four private use data objects defined in the OpenPGP smart card specification. These data objects can be set with the privatedo command in gpg's card-edit facility. While optional, they are useful for some workflows; in particular, data object 0103 can be used by TrueCrypt to store a passphrase for symmetric full disk encryption. \r\n\r\nI've added test coverage for each of the data objects, and you'll notice that the testPrivateUseDo4 case appears to fail. This apparent failure is due to [a known bug in jCardSim](https://github.com/licel/jcardsim/issues/67); the logic I've implemented in the applet is sound, and this test case succeeds when the applet is tested on a physical card. Once the jCardSim issue is addressed, the test case should succeed in the simulator as well. \r\n\r\nThis pull request also contains, in a separate commit, a minor fix to an error status message. When a user attempts to perform a security operation with an uninitialized key, the official OpenPGP smart card returns a status of 6A88, \"referenced data not found\". This is more descriptive than the status that the applet currently returns (6985, \"conditions not satisfied\"). I'm working on improved error messages in OpenKeychain after [a user experienced this issue](https://github.com/open-keychain/open-keychain/issues/1301#issuecomment-105344592), and returning the correct error code in this case will allow the OpenKeychain UI to display the correct message. \r\n\r\nI am making this contribution under the terms of the GPL 2+ license."},"comment":{"url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/comments/241341992","html_url":"https://github.com/Yubico/ykneo-openpgp/pull/33#issuecomment-241341992","issue_url":"https://api.github.com/repos/Yubico/ykneo-openpgp/issues/33","id":241341992,"user":{"login":"a-dma","id":711165,"avatar_url":"https://avatars.githubusercontent.com/u/711165?v=3","gravatar_id":"","url":"https://api.github.com/users/a-dma","html_url":"https://github.com/a-dma","followers_url":"https://api.github.com/users/a-dma/followers","following_url":"https://api.github.com/users/a-dma/following{/other_user}","gists_url":"https://api.github.com/users/a-dma/gists{/gist_id}","starred_url":"https://api.github.com/users/a-dma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-dma/subscriptions","organizations_url":"https://api.github.com/users/a-dma/orgs","repos_url":"https://api.github.com/users/a-dma/repos","events_url":"https://api.github.com/users/a-dma/events{/privacy}","received_events_url":"https://api.github.com/users/a-dma/received_events","type":"User","site_admin":false},"created_at":"2016-08-22T08:11:52Z","updated_at":"2016-08-22T08:11:52Z","body":"Hey,\r\n\r\nsorry for the inexcusable delay on this.\r\nI think adding this makes sense and would put this in parity with Yk4 which already supports PDO's.\r\n\r\nI see that the test for PDO 4 fails. Would you mind looking into that or should I? Travis reports this\r\n\r\n```\r\n[junit] Testcase: testPrivateUseDo4 took 0.011 sec\r\n[junit] \tFAILED\r\n[junit] array lengths differed, expected.length=2 actual.length=10\r\n[junit] junit.framework.AssertionFailedError: array lengths differed, expected.length=2 actual.length=10\r\n[junit] \tat openpgpcardTest.OpenPGPAppletTest.testPrivateUseDo4(Unknown Source)\r\n```"}}
{"actor":{"display_login":"a-dma"}}