{"action":"closed","number":1175,"pull_request":{"url":"https://api.github.com/repos/randombit/botan/pulls/1175","id":138869152,"html_url":"https://github.com/randombit/botan/pull/1175","diff_url":"https://github.com/randombit/botan/pull/1175.diff","patch_url":"https://github.com/randombit/botan/pull/1175.patch","issue_url":"https://api.github.com/repos/randombit/botan/issues/1175","number":1175,"state":"closed","locked":false,"title":"Add ffi flags for PK ops signature format","user":{"login":"securitykernel","id":8866185,"avatar_url":"https://avatars2.githubusercontent.com/u/8866185?v=4","gravatar_id":"","url":"https://api.github.com/users/securitykernel","html_url":"https://github.com/securitykernel","followers_url":"https://api.github.com/users/securitykernel/followers","following_url":"https://api.github.com/users/securitykernel/following{/other_user}","gists_url":"https://api.github.com/users/securitykernel/gists{/gist_id}","starred_url":"https://api.github.com/users/securitykernel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/securitykernel/subscriptions","organizations_url":"https://api.github.com/users/securitykernel/orgs","repos_url":"https://api.github.com/users/securitykernel/repos","events_url":"https://api.github.com/users/securitykernel/events{/privacy}","received_events_url":"https://api.github.com/users/securitykernel/received_events","type":"User","site_admin":false},"body":"ECDSA in [strongswan](https://github.com/strongswan/strongswan/blob/master/src/libstrongswan/credentials/keys/public_key.h#L92) supports the Ecdsa-Sig-Value signature format according to [RFC 3279](https://www.ietf.org/rfc/rfc3279.txt), which is called `DER_SEQUENCE` in botan, as well as just the concatenation of r and s according to [RFC 4754](https://tools.ietf.org/html/rfc4754), which is called `IEEE_1363` in botan. Adds flags to ffi's `botan_pk_op_sign_create()` and `botan_pk_op_verify_create()` and updates the tests.\r\n\r\nOn that note, I stumbled upon the problem of knowing the signature size beforehand, which was just short-circuited for the tests. I did not want to hard-code the signature size for the `DER_SEQUENCE` formatted signature, too, so I just call update() and finish() twice, but that means any real signer would also need to do the computationally intensive signature operation twice. Could we add a function `botan_pk_op_sign_output_length()`, similar to the hash and hmac output length helper functions?\r\n\r\n/cc @kolal23 ","created_at":"2017-09-01T11:20:31Z","updated_at":"2017-09-21T15:06:59Z","closed_at":"2017-09-21T15:06:59Z","merged_at":null,"merge_commit_sha":"3d9fe2cc3098c86cf08eba9cd03435092cf0fc2d","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/randombit/botan/pulls/1175/commits","review_comments_url":"https://api.github.com/repos/randombit/botan/pulls/1175/comments","review_comment_url":"https://api.github.com/repos/randombit/botan/pulls/comments{/number}","comments_url":"https://api.github.com/repos/randombit/botan/issues/1175/comments","statuses_url":"https://api.github.com/repos/randombit/botan/statuses/19b71df42a5a91abe4d2e635ab38b4f8dc0cac70","head":{"label":"Rohde-Schwarz-Cybersecurity:ffi-sig-format","ref":"ffi-sig-format","sha":"19b71df42a5a91abe4d2e635ab38b4f8dc0cac70","user":{"login":"Rohde-Schwarz-Cybersecurity","id":8842680,"avatar_url":"https://avatars0.githubusercontent.com/u/8842680?v=4","gravatar_id":"","url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity","html_url":"https://github.com/Rohde-Schwarz-Cybersecurity","followers_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/followers","following_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/following{/other_user}","gists_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/gists{/gist_id}","starred_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/subscriptions","organizations_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/orgs","repos_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/repos","events_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/events{/privacy}","received_events_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/received_events","type":"Organization","site_admin":false},"repo":{"id":52816996,"name":"botan","full_name":"Rohde-Schwarz-Cybersecurity/botan","owner":{"login":"Rohde-Schwarz-Cybersecurity","id":8842680,"avatar_url":"https://avatars0.githubusercontent.com/u/8842680?v=4","gravatar_id":"","url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity","html_url":"https://github.com/Rohde-Schwarz-Cybersecurity","followers_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/followers","following_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/following{/other_user}","gists_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/gists{/gist_id}","starred_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/subscriptions","organizations_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/orgs","repos_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/repos","events_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/events{/privacy}","received_events_url":"https://api.github.com/users/Rohde-Schwarz-Cybersecurity/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Rohde-Schwarz-Cybersecurity/botan","description":"Crypto and TLS for C++11","fork":true,"url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan","forks_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/forks","keys_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/teams","hooks_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/hooks","issue_events_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/issues/events{/number}","events_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/events","assignees_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/assignees{/user}","branches_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/branches{/branch}","tags_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/tags","blobs_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/git/refs{/sha}","trees_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/statuses/{sha}","languages_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/languages","stargazers_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/stargazers","contributors_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/contributors","subscribers_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/subscribers","subscription_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/subscription","commits_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/commits{/sha}","git_commits_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/git/commits{/sha}","comments_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/comments{/number}","issue_comment_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/issues/comments{/number}","contents_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/contents/{+path}","compare_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/merges","archive_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/downloads","issues_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/issues{/number}","pulls_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/pulls{/number}","milestones_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/milestones{/number}","notifications_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/labels{/name}","releases_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/releases{/id}","deployments_url":"https://api.github.com/repos/Rohde-Schwarz-Cybersecurity/botan/deployments","created_at":"2016-02-29T19:22:51Z","updated_at":"2017-04-04T13:49:24Z","pushed_at":"2017-09-20T14:28:45Z","git_url":"git://github.com/Rohde-Schwarz-Cybersecurity/botan.git","ssh_url":"git@github.com:Rohde-Schwarz-Cybersecurity/botan.git","clone_url":"https://github.com/Rohde-Schwarz-Cybersecurity/botan.git","svn_url":"https://github.com/Rohde-Schwarz-Cybersecurity/botan","homepage":"http://botan.randombit.net","size":57584,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"randombit:master","ref":"master","sha":"85642a8bd5a3a7f557f8041c9da9a224fcc19163","user":{"login":"randombit","id":469092,"avatar_url":"https://avatars0.githubusercontent.com/u/469092?v=4","gravatar_id":"","url":"https://api.github.com/users/randombit","html_url":"https://github.com/randombit","followers_url":"https://api.github.com/users/randombit/followers","following_url":"https://api.github.com/users/randombit/following{/other_user}","gists_url":"https://api.github.com/users/randombit/gists{/gist_id}","starred_url":"https://api.github.com/users/randombit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombit/subscriptions","organizations_url":"https://api.github.com/users/randombit/orgs","repos_url":"https://api.github.com/users/randombit/repos","events_url":"https://api.github.com/users/randombit/events{/privacy}","received_events_url":"https://api.github.com/users/randombit/received_events","type":"User","site_admin":false},"repo":{"id":8608254,"name":"botan","full_name":"randombit/botan","owner":{"login":"randombit","id":469092,"avatar_url":"https://avatars0.githubusercontent.com/u/469092?v=4","gravatar_id":"","url":"https://api.github.com/users/randombit","html_url":"https://github.com/randombit","followers_url":"https://api.github.com/users/randombit/followers","following_url":"https://api.github.com/users/randombit/following{/other_user}","gists_url":"https://api.github.com/users/randombit/gists{/gist_id}","starred_url":"https://api.github.com/users/randombit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombit/subscriptions","organizations_url":"https://api.github.com/users/randombit/orgs","repos_url":"https://api.github.com/users/randombit/repos","events_url":"https://api.github.com/users/randombit/events{/privacy}","received_events_url":"https://api.github.com/users/randombit/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/randombit/botan","description":"Crypto and TLS for C++11","fork":false,"url":"https://api.github.com/repos/randombit/botan","forks_url":"https://api.github.com/repos/randombit/botan/forks","keys_url":"https://api.github.com/repos/randombit/botan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/randombit/botan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/randombit/botan/teams","hooks_url":"https://api.github.com/repos/randombit/botan/hooks","issue_events_url":"https://api.github.com/repos/randombit/botan/issues/events{/number}","events_url":"https://api.github.com/repos/randombit/botan/events","assignees_url":"https://api.github.com/repos/randombit/botan/assignees{/user}","branches_url":"https://api.github.com/repos/randombit/botan/branches{/branch}","tags_url":"https://api.github.com/repos/randombit/botan/tags","blobs_url":"https://api.github.com/repos/randombit/botan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/randombit/botan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/randombit/botan/git/refs{/sha}","trees_url":"https://api.github.com/repos/randombit/botan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/randombit/botan/statuses/{sha}","languages_url":"https://api.github.com/repos/randombit/botan/languages","stargazers_url":"https://api.github.com/repos/randombit/botan/stargazers","contributors_url":"https://api.github.com/repos/randombit/botan/contributors","subscribers_url":"https://api.github.com/repos/randombit/botan/subscribers","subscription_url":"https://api.github.com/repos/randombit/botan/subscription","commits_url":"https://api.github.com/repos/randombit/botan/commits{/sha}","git_commits_url":"https://api.github.com/repos/randombit/botan/git/commits{/sha}","comments_url":"https://api.github.com/repos/randombit/botan/comments{/number}","issue_comment_url":"https://api.github.com/repos/randombit/botan/issues/comments{/number}","contents_url":"https://api.github.com/repos/randombit/botan/contents/{+path}","compare_url":"https://api.github.com/repos/randombit/botan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/randombit/botan/merges","archive_url":"https://api.github.com/repos/randombit/botan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/randombit/botan/downloads","issues_url":"https://api.github.com/repos/randombit/botan/issues{/number}","pulls_url":"https://api.github.com/repos/randombit/botan/pulls{/number}","milestones_url":"https://api.github.com/repos/randombit/botan/milestones{/number}","notifications_url":"https://api.github.com/repos/randombit/botan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/randombit/botan/labels{/name}","releases_url":"https://api.github.com/repos/randombit/botan/releases{/id}","deployments_url":"https://api.github.com/repos/randombit/botan/deployments","created_at":"2013-03-06T16:51:39Z","updated_at":"2017-09-21T10:43:49Z","pushed_at":"2017-09-20T17:36:27Z","git_url":"git://github.com/randombit/botan.git","ssh_url":"git@github.com:randombit/botan.git","clone_url":"https://github.com/randombit/botan.git","svn_url":"https://github.com/randombit/botan","homepage":"https://botan.randombit.net","size":59023,"stargazers_count":616,"watchers_count":616,"language":"C++","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":182,"mirror_url":null,"open_issues_count":114,"forks":182,"open_issues":114,"watchers":616,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/randombit/botan/pulls/1175"},"html":{"href":"https://github.com/randombit/botan/pull/1175"},"issue":{"href":"https://api.github.com/repos/randombit/botan/issues/1175"},"comments":{"href":"https://api.github.com/repos/randombit/botan/issues/1175/comments"},"review_comments":{"href":"https://api.github.com/repos/randombit/botan/pulls/1175/comments"},"review_comment":{"href":"https://api.github.com/repos/randombit/botan/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/randombit/botan/pulls/1175/commits"},"statuses":{"href":"https://api.github.com/repos/randombit/botan/statuses/19b71df42a5a91abe4d2e635ab38b4f8dc0cac70"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"unstable","merged_by":null,"comments":8,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":103,"deletions":65,"changed_files":3}}
{"actor":{"display_login":"securitykernel"}}