{"action":"created","issue":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/2048","repository_url":"https://api.github.com/repos/MightyPirates/OpenComputers","labels_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/2048/labels{/name}","comments_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/2048/comments","events_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/2048/events","html_url":"https://github.com/MightyPirates/OpenComputers/issues/2048","id":174849673,"number":2048,"title":"[Feature Request] Signed Bytecode Loading","user":{"login":"SoniEx2","id":1779619,"avatar_url":"https://avatars.githubusercontent.com/u/1779619?v=3","gravatar_id":"","url":"https://api.github.com/users/SoniEx2","html_url":"https://github.com/SoniEx2","followers_url":"https://api.github.com/users/SoniEx2/followers","following_url":"https://api.github.com/users/SoniEx2/following{/other_user}","gists_url":"https://api.github.com/users/SoniEx2/gists{/gist_id}","starred_url":"https://api.github.com/users/SoniEx2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SoniEx2/subscriptions","organizations_url":"https://api.github.com/users/SoniEx2/orgs","repos_url":"https://api.github.com/users/SoniEx2/repos","events_url":"https://api.github.com/users/SoniEx2/events{/privacy}","received_events_url":"https://api.github.com/users/SoniEx2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-09-02T21:18:12Z","updated_at":"2016-09-22T18:00:46Z","closed_at":null,"body":"`string.dump()` should be replaced with a function that signs the resulting bytecode. `load` should verify bytecode signatures.\r\n\r\nThe signature should be generated server-side. There's no need to have more than one signature per server. The whole signature process should be done in Java/Scala so as to not leak the key. The key should be loaded into a `byte[]` every time it is to be used, and the `byte[]` should be cleared (set to 0) every time after use, so as to not leak the key. This `byte[]` should be global and synchronized, to reduce the risk of leaking the key.\r\n\r\nThis lets you get all the benefits of bytecode (smaller size, faster loading, etc) without any of the drawbacks (because only bytecode produced by the server can be loaded)."},"comment":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/comments/248979944","html_url":"https://github.com/MightyPirates/OpenComputers/issues/2048#issuecomment-248979944","issue_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/2048","id":248979944,"user":{"login":"payonel","id":6590223,"avatar_url":"https://avatars.githubusercontent.com/u/6590223?v=3","gravatar_id":"","url":"https://api.github.com/users/payonel","html_url":"https://github.com/payonel","followers_url":"https://api.github.com/users/payonel/followers","following_url":"https://api.github.com/users/payonel/following{/other_user}","gists_url":"https://api.github.com/users/payonel/gists{/gist_id}","starred_url":"https://api.github.com/users/payonel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/payonel/subscriptions","organizations_url":"https://api.github.com/users/payonel/orgs","repos_url":"https://api.github.com/users/payonel/repos","events_url":"https://api.github.com/users/payonel/events{/privacy}","received_events_url":"https://api.github.com/users/payonel/received_events","type":"User","site_admin":false},"created_at":"2016-09-22T18:00:46Z","updated_at":"2016-09-22T18:00:46Z","body":"Actually I like this idea, no need to bump, but I'll add feature request"}}
{"actor":{"display_login":"payonel"}}