{"action":"created","issue":{"url":"https://api.github.com/repos/briansmith/ring/issues/115","repository_url":"https://api.github.com/repos/briansmith/ring","labels_url":"https://api.github.com/repos/briansmith/ring/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/briansmith/ring/issues/115/comments","events_url":"https://api.github.com/repos/briansmith/ring/issues/115/events","html_url":"https://github.com/briansmith/ring/issues/115","id":135022375,"number":115,"title":"Implement RSASSA-PSS signature verification","user":{"login":"briansmith","id":16816,"avatar_url":"https://avatars.githubusercontent.com/u/16816?v=3","gravatar_id":"","url":"https://api.github.com/users/briansmith","html_url":"https://github.com/briansmith","followers_url":"https://api.github.com/users/briansmith/followers","following_url":"https://api.github.com/users/briansmith/following{/other_user}","gists_url":"https://api.github.com/users/briansmith/gists{/gist_id}","starred_url":"https://api.github.com/users/briansmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briansmith/subscriptions","organizations_url":"https://api.github.com/users/briansmith/orgs","repos_url":"https://api.github.com/users/briansmith/repos","events_url":"https://api.github.com/users/briansmith/events{/privacy}","received_events_url":"https://api.github.com/users/briansmith/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/briansmith/ring/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/briansmith/ring/labels/good-first-bug","name":"good-first-bug","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-20T02:22:03Z","updated_at":"2016-02-21T04:40:14Z","closed_at":null,"body":"BoringSSL already implemented PSS, but it did so using the C digest API that we removed, so the PSS code was removed. We need to implement the PSS digest calculations in Rust using the *ring* digest API.\r\n\r\nThe IETF spec for PSS is at https://tools.ietf.org/html/rfc3447#section-8.\r\n\r\nThe commit that removed the BoringSSL PSS code is https://github.com/briansmith/ring/commit/4f3535ed43cd577fed1809c3ce32177526bb57e5#diff-03f44f4ac02526e7db1f33340b4642e3L519. Don't transliterate the BoringSSL code, as it is under the OpenSSL license and new Rust code is only be accepted under the ISC license.\r\n\r\nIt would probably be a good idea to refactor the existing RSA PKCS#1 code in *ring* (the Rust code and the C code) in order to make this work better.\r\n\r\nThe [webpki](https://github.com/briansmith/webpki) project contains some test vectors for PSS that should be enabled once this is working. (Though, that requires modifying webpki to parse PSS keys.)"},"comment":{"url":"https://api.github.com/repos/briansmith/ring/issues/comments/186738963","html_url":"https://github.com/briansmith/ring/issues/115#issuecomment-186738963","issue_url":"https://api.github.com/repos/briansmith/ring/issues/115","id":186738963,"user":{"login":"frewsxcv","id":416575,"avatar_url":"https://avatars.githubusercontent.com/u/416575?v=3","gravatar_id":"","url":"https://api.github.com/users/frewsxcv","html_url":"https://github.com/frewsxcv","followers_url":"https://api.github.com/users/frewsxcv/followers","following_url":"https://api.github.com/users/frewsxcv/following{/other_user}","gists_url":"https://api.github.com/users/frewsxcv/gists{/gist_id}","starred_url":"https://api.github.com/users/frewsxcv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frewsxcv/subscriptions","organizations_url":"https://api.github.com/users/frewsxcv/orgs","repos_url":"https://api.github.com/users/frewsxcv/repos","events_url":"https://api.github.com/users/frewsxcv/events{/privacy}","received_events_url":"https://api.github.com/users/frewsxcv/received_events","type":"User","site_admin":false},"created_at":"2016-02-21T04:40:14Z","updated_at":"2016-02-21T04:40:14Z","body":"I'm currently looking into this."}}