{"action":"created","issue":{"url":"https://api.github.com/repos/openssl/openssl/issues/7442","repository_url":"https://api.github.com/repos/openssl/openssl","labels_url":"https://api.github.com/repos/openssl/openssl/issues/7442/labels{/name}","comments_url":"https://api.github.com/repos/openssl/openssl/issues/7442/comments","events_url":"https://api.github.com/repos/openssl/openssl/issues/7442/events","html_url":"https://github.com/openssl/openssl/pull/7442","id":371949785,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0MjgxMDU5","number":7442,"title":"Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable","user":{"login":"mattcaswell","id":7422273,"node_id":"MDQ6VXNlcjc0MjIyNzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7422273?v=4","gravatar_id":"","url":"https://api.github.com/users/mattcaswell","html_url":"https://github.com/mattcaswell","followers_url":"https://api.github.com/users/mattcaswell/followers","following_url":"https://api.github.com/users/mattcaswell/following{/other_user}","gists_url":"https://api.github.com/users/mattcaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mattcaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattcaswell/subscriptions","organizations_url":"https://api.github.com/users/mattcaswell/orgs","repos_url":"https://api.github.com/users/mattcaswell/repos","events_url":"https://api.github.com/users/mattcaswell/events{/privacy}","received_events_url":"https://api.github.com/users/mattcaswell/received_events","type":"User","site_admin":false},"labels":[{"id":872237503,"node_id":"MDU6TGFiZWw4NzIyMzc1MDM=","url":"https://api.github.com/repos/openssl/openssl/labels/1.1.1","name":"1.1.1","color":"bfdadc","default":false},{"id":441165144,"node_id":"MDU6TGFiZWw0NDExNjUxNDQ=","url":"https://api.github.com/repos/openssl/openssl/labels/master","name":"master","color":"bfdadc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/openssl/openssl/milestones/13","html_url":"https://github.com/openssl/openssl/milestone/13","labels_url":"https://api.github.com/repos/openssl/openssl/milestones/13/labels","id":3760591,"node_id":"MDk6TWlsZXN0b25lMzc2MDU5MQ==","number":13,"title":"1.1.1a","description":null,"creator":{"login":"mattcaswell","id":7422273,"node_id":"MDQ6VXNlcjc0MjIyNzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7422273?v=4","gravatar_id":"","url":"https://api.github.com/users/mattcaswell","html_url":"https://github.com/mattcaswell","followers_url":"https://api.github.com/users/mattcaswell/followers","following_url":"https://api.github.com/users/mattcaswell/following{/other_user}","gists_url":"https://api.github.com/users/mattcaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mattcaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattcaswell/subscriptions","organizations_url":"https://api.github.com/users/mattcaswell/orgs","repos_url":"https://api.github.com/users/mattcaswell/repos","events_url":"https://api.github.com/users/mattcaswell/events{/privacy}","received_events_url":"https://api.github.com/users/mattcaswell/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":114,"state":"open","created_at":"2018-10-23T09:37:02Z","updated_at":"2018-11-07T23:43:34Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2018-10-19T13:07:08Z","updated_at":"2018-11-08T10:50:29Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/openssl/openssl/pulls/7442","html_url":"https://github.com/openssl/openssl/pull/7442","diff_url":"https://github.com/openssl/openssl/pull/7442.diff","patch_url":"https://github.com/openssl/openssl/pull/7442.patch"},"body":"TLSv1.3 is more restrictive about the curve used. There must be a matching sig alg defined for that curve. Therefore if we are using some other curve in our certificate then we should not negotiate TLSv1.3.\r\n\r\nAdditionally we should not apply signature algorithm curve checks in TLSv1.2. RFC8446 says this:\r\n    \r\n        ECDSA signature schemes align with TLS 1.2's ECDSA hash/signature\r\n        pairs.  However, the old semantics did not constrain the signing\r\n        curve.  If TLS 1.2 is negotiated, implementations MUST be prepared\r\n        to accept a signature that uses any curve that they advertised in\r\n        the \"supported_groups\" extension.\r\n\r\nFixes #7435"},"comment":{"url":"https://api.github.com/repos/openssl/openssl/issues/comments/436953372","html_url":"https://github.com/openssl/openssl/pull/7442#issuecomment-436953372","issue_url":"https://api.github.com/repos/openssl/openssl/issues/7442","id":436953372,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNjk1MzM3Mg==","user":{"login":"mattcaswell","id":7422273,"node_id":"MDQ6VXNlcjc0MjIyNzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7422273?v=4","gravatar_id":"","url":"https://api.github.com/users/mattcaswell","html_url":"https://github.com/mattcaswell","followers_url":"https://api.github.com/users/mattcaswell/followers","following_url":"https://api.github.com/users/mattcaswell/following{/other_user}","gists_url":"https://api.github.com/users/mattcaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mattcaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattcaswell/subscriptions","organizations_url":"https://api.github.com/users/mattcaswell/orgs","repos_url":"https://api.github.com/users/mattcaswell/repos","events_url":"https://api.github.com/users/mattcaswell/events{/privacy}","received_events_url":"https://api.github.com/users/mattcaswell/received_events","type":"User","site_admin":false},"created_at":"2018-11-08T10:50:29Z","updated_at":"2018-11-08T10:50:29Z","author_association":"MEMBER","body":"> Could that be a cert with an invalid curve for TLSv1.3, perhaps? I'm not savvy enough to know if that should cause an error or a downgrade to TLSv1.2, but yeah, something like that. The way I understand this PR, you've only added a test for a cert that successfully enables TLSv1.3, is that correct?\r\n\r\nThe tests do add a curve which is invalid for TLSv1.3. Prior to the fix in this PR libssl would have negotiated TLSv1.3 anyway and then subsequently failed. After the fix in this PR libssl realises that its cert is not TLSv1.3 compatibile and successfully negotiates TLSv1.2 instead."}}
{"actor":{"display_login":"mattcaswell"}}