{"action":"created","issue":{"url":"https://api.github.com/repos/OpenSC/OpenSC/issues/831","repository_url":"https://api.github.com/repos/OpenSC/OpenSC","labels_url":"https://api.github.com/repos/OpenSC/OpenSC/issues/831/labels{/name}","comments_url":"https://api.github.com/repos/OpenSC/OpenSC/issues/831/comments","events_url":"https://api.github.com/repos/OpenSC/OpenSC/issues/831/events","html_url":"https://github.com/OpenSC/OpenSC/pull/831","id":166110929,"number":831,"title":"Add Support for electronic signature with German ID card","user":{"login":"frankmorgner","id":1266577,"avatar_url":"https://avatars.githubusercontent.com/u/1266577?v=3","gravatar_id":"","url":"https://api.github.com/users/frankmorgner","html_url":"https://github.com/frankmorgner","followers_url":"https://api.github.com/users/frankmorgner/followers","following_url":"https://api.github.com/users/frankmorgner/following{/other_user}","gists_url":"https://api.github.com/users/frankmorgner/gists{/gist_id}","starred_url":"https://api.github.com/users/frankmorgner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankmorgner/subscriptions","organizations_url":"https://api.github.com/users/frankmorgner/orgs","repos_url":"https://api.github.com/users/frankmorgner/repos","events_url":"https://api.github.com/users/frankmorgner/events{/privacy}","received_events_url":"https://api.github.com/users/frankmorgner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"frankmorgner","id":1266577,"avatar_url":"https://avatars.githubusercontent.com/u/1266577?v=3","gravatar_id":"","url":"https://api.github.com/users/frankmorgner","html_url":"https://github.com/frankmorgner","followers_url":"https://api.github.com/users/frankmorgner/followers","following_url":"https://api.github.com/users/frankmorgner/following{/other_user}","gists_url":"https://api.github.com/users/frankmorgner/gists{/gist_id}","starred_url":"https://api.github.com/users/frankmorgner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankmorgner/subscriptions","organizations_url":"https://api.github.com/users/frankmorgner/orgs","repos_url":"https://api.github.com/users/frankmorgner/repos","events_url":"https://api.github.com/users/frankmorgner/events{/privacy}","received_events_url":"https://api.github.com/users/frankmorgner/received_events","type":"User","site_admin":false},"assignees":[{"login":"frankmorgner","id":1266577,"avatar_url":"https://avatars.githubusercontent.com/u/1266577?v=3","gravatar_id":"","url":"https://api.github.com/users/frankmorgner","html_url":"https://github.com/frankmorgner","followers_url":"https://api.github.com/users/frankmorgner/followers","following_url":"https://api.github.com/users/frankmorgner/following{/other_user}","gists_url":"https://api.github.com/users/frankmorgner/gists{/gist_id}","starred_url":"https://api.github.com/users/frankmorgner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankmorgner/subscriptions","organizations_url":"https://api.github.com/users/frankmorgner/orgs","repos_url":"https://api.github.com/users/frankmorgner/repos","events_url":"https://api.github.com/users/frankmorgner/events{/privacy}","received_events_url":"https://api.github.com/users/frankmorgner/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2016-07-18T14:44:39Z","updated_at":"2016-08-01T20:57:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OpenSC/OpenSC/pulls/831","html_url":"https://github.com/OpenSC/OpenSC/pull/831","diff_url":"https://github.com/OpenSC/OpenSC/pull/831.diff","patch_url":"https://github.com/OpenSC/OpenSC/pull/831.patch"},"body":"For background please see https://github.com/OpenSC/OpenSC/pull/611, https://github.com/OpenSC/OpenSC/pull/83, https://github.com/OpenSC/OpenSC/pull/827, https://github.com/OpenSC/OpenSC/issues/820\r\n\r\nI did all the refactoring suggested in https://github.com/OpenSC/OpenSC/issues/823\r\n\r\n> - join the _libisosm_ with _libsm_ ;\r\n\r\nThe folder _libsm_ is renamed to _sm_. It now contains the SM encoding according to ISO-7816-4 (_libsmiso_) as well as SM establishment according to Extended Access Control which is also referenced in the new ISO-7816-4 standard (_libsmeac_). Please note that the latter is historically associated to travel documents (MRTDs), but it's currently used in millions of PKI cards as well, e.g. SC-HSM which is already supported in OpenSC.\r\n\r\n>- move eac, npa cards/stuff into libopensc, (probably create dedicated sub-folder inside libopensc);\r\n\r\n_libcardnpa_ was moved to folder _libopensc_.\r\n\r\n>- think about some common denominator for the name of _pace_, _boxing_, _npa_, _sceac_ source files (something like _xxx-mrtd-yyy_,  not sure)\r\n\r\n- _boxing_ files are named _reader-boxing_. Please note that executing a PIN verification via boxing commands with pseudo APDUs have been standardized to overcome the need for a special smart card driver. More specifically, it allows using reader's PIN pad with Windows' CCID driver (which has no PIN pad support). Thus, its use is not limited to MRTDs nor is it limited to PACE. My implemenatation also adds support for VERIFY/MODIFY PIN commands.\r\n- _sceac_ files are named _sm-eac_\r\n- _npa_ files are (and have always be) named _card-npa_\r\n- _pace.h_ was created from _opensc.h_ in https://github.com/OpenSC/OpenSC/pull/88. Since it defines an internal type to access a reader's feature (PC/SC standard pt 10 amd1) and now lets you perform a creation of a SM channel, I'd move it to _opensc.h_ or _types.h_. I am leaving the choice up to @viktorTarasov.\r\n\r\nAdditionally the complaint about not being able to build with seperate SOURCE and BUILD directories has been fixed. No additional compile time dependencies are needed to build the core of OpenSC.\r\n\r\nSome commits can still be squashed if needed.\r\n\r\n@viktorTarasov and @dengert, please review the changes as soon as possible. I'd like to merge the EAC support of SC-HSM from @CardContact as well, which builds up on this SM implementation."},"comment":{"url":"https://api.github.com/repos/OpenSC/OpenSC/issues/comments/236705534","html_url":"https://github.com/OpenSC/OpenSC/pull/831#issuecomment-236705534","issue_url":"https://api.github.com/repos/OpenSC/OpenSC/issues/831","id":236705534,"user":{"login":"frankmorgner","id":1266577,"avatar_url":"https://avatars.githubusercontent.com/u/1266577?v=3","gravatar_id":"","url":"https://api.github.com/users/frankmorgner","html_url":"https://github.com/frankmorgner","followers_url":"https://api.github.com/users/frankmorgner/followers","following_url":"https://api.github.com/users/frankmorgner/following{/other_user}","gists_url":"https://api.github.com/users/frankmorgner/gists{/gist_id}","starred_url":"https://api.github.com/users/frankmorgner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankmorgner/subscriptions","organizations_url":"https://api.github.com/users/frankmorgner/orgs","repos_url":"https://api.github.com/users/frankmorgner/repos","events_url":"https://api.github.com/users/frankmorgner/events{/privacy}","received_events_url":"https://api.github.com/users/frankmorgner/received_events","type":"User","site_admin":false},"created_at":"2016-08-01T20:57:51Z","updated_at":"2016-08-01T20:57:51Z","body":">>> ... for me, the name of this file has to contain reference to PACE ...\r\n\r\n>> Did you read the content of the files?\r\n\r\n>Yes, I've read, and I will help you to understand your code.\r\n\r\nWell, you should at least pretend to not have a god complex. In regard to the boxing commands, you may want to re-read the code, because you're misinterpreting it! I tried to explain the logic in the commit message of 1b9c5bd91f3ead70d618c622e572c1a61ee35283 and in this PR's description. You can get all details in the [technical guideline (english)](https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TR03119/BSI-TR-03119_V1_pdf.pdf)."}}
{"actor":{"display_login":"frankmorgner"}}