{"action":"created","comment":{"url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/comments/204946561","pull_request_review_id":140120904,"id":204946561,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNDk0NjU2MQ==","diff_hunk":"@@ -371,13 +371,22 @@ func (w *otherWorker) Do(job interface{}) interface{} {\n \t\t}\n \t\tw.s.stats.logKeyLoadDuration(keyLoadBegin)\n \n-\t\ted25519Key, ok := key.(ed25519.PrivateKey)\n+\t\tif ed25519Key, ok := key.(ed25519.PrivateKey); ok {\n+\t\t\tsig := ed25519.Sign(ed25519Key, pkt.Operation.Payload)\n+\t\t\treturn w.s.makeRespondResponse(req, sig, requestBegin)\n+\t\t}\n+\n+\t\ted25519Key, ok := key.(crypto.Signer)","path":"server/server.go","position":30,"original_position":10,"commit_id":"03a98323c3a91b5dd5f949908ddae0e3f555d488","original_commit_id":"03a98323c3a91b5dd5f949908ddae0e3f555d488","user":{"login":"Bren2010","id":416022,"node_id":"MDQ6VXNlcjQxNjAyMg==","avatar_url":"https://avatars2.githubusercontent.com/u/416022?v=4","gravatar_id":"","url":"https://api.github.com/users/Bren2010","html_url":"https://github.com/Bren2010","followers_url":"https://api.github.com/users/Bren2010/followers","following_url":"https://api.github.com/users/Bren2010/following{/other_user}","gists_url":"https://api.github.com/users/Bren2010/gists{/gist_id}","starred_url":"https://api.github.com/users/Bren2010/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bren2010/subscriptions","organizations_url":"https://api.github.com/users/Bren2010/orgs","repos_url":"https://api.github.com/users/Bren2010/repos","events_url":"https://api.github.com/users/Bren2010/events{/privacy}","received_events_url":"https://api.github.com/users/Bren2010/received_events","type":"User","site_admin":false},"body":"Isn't key already a crypto.Signer?","created_at":"2018-07-24T23:53:43Z","updated_at":"2018-07-24T23:53:50Z","html_url":"https://github.com/cloudflare/gokeyless/pull/242#discussion_r204946561","pull_request_url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/comments/204946561"},"html":{"href":"https://github.com/cloudflare/gokeyless/pull/242#discussion_r204946561"},"pull_request":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242"}}},"pull_request":{"url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242","id":203377341,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzMzc3MzQx","html_url":"https://github.com/cloudflare/gokeyless/pull/242","diff_url":"https://github.com/cloudflare/gokeyless/pull/242.diff","patch_url":"https://github.com/cloudflare/gokeyless/pull/242.patch","issue_url":"https://api.github.com/repos/cloudflare/gokeyless/issues/242","number":242,"state":"open","locked":false,"title":"Add support for Ed25519","user":{"login":"cjpatton","id":3453007,"node_id":"MDQ6VXNlcjM0NTMwMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/3453007?v=4","gravatar_id":"","url":"https://api.github.com/users/cjpatton","html_url":"https://github.com/cjpatton","followers_url":"https://api.github.com/users/cjpatton/followers","following_url":"https://api.github.com/users/cjpatton/following{/other_user}","gists_url":"https://api.github.com/users/cjpatton/gists{/gist_id}","starred_url":"https://api.github.com/users/cjpatton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjpatton/subscriptions","organizations_url":"https://api.github.com/users/cjpatton/orgs","repos_url":"https://api.github.com/users/cjpatton/repos","events_url":"https://api.github.com/users/cjpatton/events{/privacy}","received_events_url":"https://api.github.com/users/cjpatton/received_events","type":"User","site_admin":false},"body":"The opcode takes an arbitrary-length payload. This is because EdDSA signatures can't operate on the hash of the message. These signatures are processed by the otherWorker; since the signature is deterministic, there's no need to precompute random values, as is done with ECDSA.","created_at":"2018-07-24T00:15:40Z","updated_at":"2018-07-24T23:53:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cde7152e613f8e3ce59d230355deeb09431ed8c3","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242/commits","review_comments_url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242/comments","review_comment_url":"https://api.github.com/repos/cloudflare/gokeyless/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cloudflare/gokeyless/issues/242/comments","statuses_url":"https://api.github.com/repos/cloudflare/gokeyless/statuses/03a98323c3a91b5dd5f949908ddae0e3f555d488","head":{"label":"cjpatton:ed2519","ref":"ed2519","sha":"03a98323c3a91b5dd5f949908ddae0e3f555d488","user":{"login":"cjpatton","id":3453007,"node_id":"MDQ6VXNlcjM0NTMwMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/3453007?v=4","gravatar_id":"","url":"https://api.github.com/users/cjpatton","html_url":"https://github.com/cjpatton","followers_url":"https://api.github.com/users/cjpatton/followers","following_url":"https://api.github.com/users/cjpatton/following{/other_user}","gists_url":"https://api.github.com/users/cjpatton/gists{/gist_id}","starred_url":"https://api.github.com/users/cjpatton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjpatton/subscriptions","organizations_url":"https://api.github.com/users/cjpatton/orgs","repos_url":"https://api.github.com/users/cjpatton/repos","events_url":"https://api.github.com/users/cjpatton/events{/privacy}","received_events_url":"https://api.github.com/users/cjpatton/received_events","type":"User","site_admin":false},"repo":{"id":141930516,"node_id":"MDEwOlJlcG9zaXRvcnkxNDE5MzA1MTY=","name":"gokeyless","full_name":"cjpatton/gokeyless","owner":{"login":"cjpatton","id":3453007,"node_id":"MDQ6VXNlcjM0NTMwMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/3453007?v=4","gravatar_id":"","url":"https://api.github.com/users/cjpatton","html_url":"https://github.com/cjpatton","followers_url":"https://api.github.com/users/cjpatton/followers","following_url":"https://api.github.com/users/cjpatton/following{/other_user}","gists_url":"https://api.github.com/users/cjpatton/gists{/gist_id}","starred_url":"https://api.github.com/users/cjpatton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjpatton/subscriptions","organizations_url":"https://api.github.com/users/cjpatton/orgs","repos_url":"https://api.github.com/users/cjpatton/repos","events_url":"https://api.github.com/users/cjpatton/events{/privacy}","received_events_url":"https://api.github.com/users/cjpatton/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cjpatton/gokeyless","description":"Go implementation of the keyless protocol","fork":true,"url":"https://api.github.com/repos/cjpatton/gokeyless","forks_url":"https://api.github.com/repos/cjpatton/gokeyless/forks","keys_url":"https://api.github.com/repos/cjpatton/gokeyless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cjpatton/gokeyless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cjpatton/gokeyless/teams","hooks_url":"https://api.github.com/repos/cjpatton/gokeyless/hooks","issue_events_url":"https://api.github.com/repos/cjpatton/gokeyless/issues/events{/number}","events_url":"https://api.github.com/repos/cjpatton/gokeyless/events","assignees_url":"https://api.github.com/repos/cjpatton/gokeyless/assignees{/user}","branches_url":"https://api.github.com/repos/cjpatton/gokeyless/branches{/branch}","tags_url":"https://api.github.com/repos/cjpatton/gokeyless/tags","blobs_url":"https://api.github.com/repos/cjpatton/gokeyless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cjpatton/gokeyless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cjpatton/gokeyless/git/refs{/sha}","trees_url":"https://api.github.com/repos/cjpatton/gokeyless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cjpatton/gokeyless/statuses/{sha}","languages_url":"https://api.github.com/repos/cjpatton/gokeyless/languages","stargazers_url":"https://api.github.com/repos/cjpatton/gokeyless/stargazers","contributors_url":"https://api.github.com/repos/cjpatton/gokeyless/contributors","subscribers_url":"https://api.github.com/repos/cjpatton/gokeyless/subscribers","subscription_url":"https://api.github.com/repos/cjpatton/gokeyless/subscription","commits_url":"https://api.github.com/repos/cjpatton/gokeyless/commits{/sha}","git_commits_url":"https://api.github.com/repos/cjpatton/gokeyless/git/commits{/sha}","comments_url":"https://api.github.com/repos/cjpatton/gokeyless/comments{/number}","issue_comment_url":"https://api.github.com/repos/cjpatton/gokeyless/issues/comments{/number}","contents_url":"https://api.github.com/repos/cjpatton/gokeyless/contents/{+path}","compare_url":"https://api.github.com/repos/cjpatton/gokeyless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cjpatton/gokeyless/merges","archive_url":"https://api.github.com/repos/cjpatton/gokeyless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cjpatton/gokeyless/downloads","issues_url":"https://api.github.com/repos/cjpatton/gokeyless/issues{/number}","pulls_url":"https://api.github.com/repos/cjpatton/gokeyless/pulls{/number}","milestones_url":"https://api.github.com/repos/cjpatton/gokeyless/milestones{/number}","notifications_url":"https://api.github.com/repos/cjpatton/gokeyless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cjpatton/gokeyless/labels{/name}","releases_url":"https://api.github.com/repos/cjpatton/gokeyless/releases{/id}","deployments_url":"https://api.github.com/repos/cjpatton/gokeyless/deployments","created_at":"2018-07-22T21:04:23Z","updated_at":"2018-07-22T21:04:25Z","pushed_at":"2018-07-24T22:50:16Z","git_url":"git://github.com/cjpatton/gokeyless.git","ssh_url":"git@github.com:cjpatton/gokeyless.git","clone_url":"https://github.com/cjpatton/gokeyless.git","svn_url":"https://github.com/cjpatton/gokeyless","homepage":"https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/","size":3582,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cloudflare:master","ref":"master","sha":"055b1b798ed50daf86f56663f4c9098c51d40c03","user":{"login":"cloudflare","id":314135,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNDEzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/314135?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudflare","html_url":"https://github.com/cloudflare","followers_url":"https://api.github.com/users/cloudflare/followers","following_url":"https://api.github.com/users/cloudflare/following{/other_user}","gists_url":"https://api.github.com/users/cloudflare/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudflare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudflare/subscriptions","organizations_url":"https://api.github.com/users/cloudflare/orgs","repos_url":"https://api.github.com/users/cloudflare/repos","events_url":"https://api.github.com/users/cloudflare/events{/privacy}","received_events_url":"https://api.github.com/users/cloudflare/received_events","type":"Organization","site_admin":false},"repo":{"id":37894193,"node_id":"MDEwOlJlcG9zaXRvcnkzNzg5NDE5Mw==","name":"gokeyless","full_name":"cloudflare/gokeyless","owner":{"login":"cloudflare","id":314135,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNDEzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/314135?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudflare","html_url":"https://github.com/cloudflare","followers_url":"https://api.github.com/users/cloudflare/followers","following_url":"https://api.github.com/users/cloudflare/following{/other_user}","gists_url":"https://api.github.com/users/cloudflare/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudflare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudflare/subscriptions","organizations_url":"https://api.github.com/users/cloudflare/orgs","repos_url":"https://api.github.com/users/cloudflare/repos","events_url":"https://api.github.com/users/cloudflare/events{/privacy}","received_events_url":"https://api.github.com/users/cloudflare/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cloudflare/gokeyless","description":"Go implementation of the keyless protocol","fork":false,"url":"https://api.github.com/repos/cloudflare/gokeyless","forks_url":"https://api.github.com/repos/cloudflare/gokeyless/forks","keys_url":"https://api.github.com/repos/cloudflare/gokeyless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cloudflare/gokeyless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cloudflare/gokeyless/teams","hooks_url":"https://api.github.com/repos/cloudflare/gokeyless/hooks","issue_events_url":"https://api.github.com/repos/cloudflare/gokeyless/issues/events{/number}","events_url":"https://api.github.com/repos/cloudflare/gokeyless/events","assignees_url":"https://api.github.com/repos/cloudflare/gokeyless/assignees{/user}","branches_url":"https://api.github.com/repos/cloudflare/gokeyless/branches{/branch}","tags_url":"https://api.github.com/repos/cloudflare/gokeyless/tags","blobs_url":"https://api.github.com/repos/cloudflare/gokeyless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cloudflare/gokeyless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cloudflare/gokeyless/git/refs{/sha}","trees_url":"https://api.github.com/repos/cloudflare/gokeyless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cloudflare/gokeyless/statuses/{sha}","languages_url":"https://api.github.com/repos/cloudflare/gokeyless/languages","stargazers_url":"https://api.github.com/repos/cloudflare/gokeyless/stargazers","contributors_url":"https://api.github.com/repos/cloudflare/gokeyless/contributors","subscribers_url":"https://api.github.com/repos/cloudflare/gokeyless/subscribers","subscription_url":"https://api.github.com/repos/cloudflare/gokeyless/subscription","commits_url":"https://api.github.com/repos/cloudflare/gokeyless/commits{/sha}","git_commits_url":"https://api.github.com/repos/cloudflare/gokeyless/git/commits{/sha}","comments_url":"https://api.github.com/repos/cloudflare/gokeyless/comments{/number}","issue_comment_url":"https://api.github.com/repos/cloudflare/gokeyless/issues/comments{/number}","contents_url":"https://api.github.com/repos/cloudflare/gokeyless/contents/{+path}","compare_url":"https://api.github.com/repos/cloudflare/gokeyless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cloudflare/gokeyless/merges","archive_url":"https://api.github.com/repos/cloudflare/gokeyless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cloudflare/gokeyless/downloads","issues_url":"https://api.github.com/repos/cloudflare/gokeyless/issues{/number}","pulls_url":"https://api.github.com/repos/cloudflare/gokeyless/pulls{/number}","milestones_url":"https://api.github.com/repos/cloudflare/gokeyless/milestones{/number}","notifications_url":"https://api.github.com/repos/cloudflare/gokeyless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cloudflare/gokeyless/labels{/name}","releases_url":"https://api.github.com/repos/cloudflare/gokeyless/releases{/id}","deployments_url":"https://api.github.com/repos/cloudflare/gokeyless/deployments","created_at":"2015-06-23T03:09:09Z","updated_at":"2018-07-24T21:38:21Z","pushed_at":"2018-07-24T23:52:22Z","git_url":"git://github.com/cloudflare/gokeyless.git","ssh_url":"git@github.com:cloudflare/gokeyless.git","clone_url":"https://github.com/cloudflare/gokeyless.git","svn_url":"https://github.com/cloudflare/gokeyless","homepage":"https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/","size":3542,"stargazers_count":156,"watchers_count":156,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":30,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":30,"open_issues":4,"watchers":156,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242"},"html":{"href":"https://github.com/cloudflare/gokeyless/pull/242"},"issue":{"href":"https://api.github.com/repos/cloudflare/gokeyless/issues/242"},"comments":{"href":"https://api.github.com/repos/cloudflare/gokeyless/issues/242/comments"},"review_comments":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242/comments"},"review_comment":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cloudflare/gokeyless/pulls/242/commits"},"statuses":{"href":"https://api.github.com/repos/cloudflare/gokeyless/statuses/03a98323c3a91b5dd5f949908ddae0e3f555d488"}},"author_association":"NONE"}}
{"actor":{"display_login":"Bren2010"}}