{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/322","labels_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/322/labels{/name}","comments_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/322/comments","events_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/322/events","html_url":"https://github.com/w3c/webrtc-pc/issues/322","id":109766820,"number":322,"title":"WebRTC/WebCrypto mismatch: AlgorithmIdentifier is missing 'hash', WebCrypto normalization unhappy","user":{"login":"henbos","id":11347890,"avatar_url":"https://avatars.githubusercontent.com/u/11347890?v=3","gravatar_id":"","url":"https://api.github.com/users/henbos","html_url":"https://github.com/henbos","followers_url":"https://api.github.com/users/henbos/followers","following_url":"https://api.github.com/users/henbos/following{/other_user}","gists_url":"https://api.github.com/users/henbos/gists{/gist_id}","starred_url":"https://api.github.com/users/henbos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henbos/subscriptions","organizations_url":"https://api.github.com/users/henbos/orgs","repos_url":"https://api.github.com/users/henbos/repos","events_url":"https://api.github.com/users/henbos/events{/privacy}","received_events_url":"https://api.github.com/users/henbos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-10-05T10:10:07Z","updated_at":"2015-10-11T06:19:07Z","closed_at":null,"body":"The following AlgorithmIdentifier value must be supported by the user agent for generateCertificate:\r\n{ name: \"RSASSA-PKCS1-v1_5\", modulusLength: 2048, publicExponent: new Uint8Array([1, 0, 1]) }\r\n\r\nBut it must also produce a non-error result when normalized according to the WebCrypto normalization process with an operation name of generateKey. However, see https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#rsassa-pkcs1. Normalizing with generateKey takes parameters RsaHashedKeyGenParams, which are the expected parameters (name, modulusLength, publicExponent) plus \"HashAlgorithmIdentifier hash\".\r\n\r\nIs this a WebCryptoAPI or WebRTC bug? In order to pass the normalization process one could add hash:\"SHA-1\" to our AlgorithmIdentifier, but that would force WebRTC implementations to use a certain hash algorithm (I don't know how or when this applies, but current chromium webrtc code does not have a hash alg parameter of any kind).\r\n\r\n(This issue is similar/related to https://github.com/w3c/webrtc-pc/issues/310 which updated publicExponent from an integer to Uint8Array.)"},"comment":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/comments/147163058","html_url":"https://github.com/w3c/webrtc-pc/issues/322#issuecomment-147163058","issue_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/322","id":147163058,"user":{"login":"alvestrand","id":480893,"avatar_url":"https://avatars.githubusercontent.com/u/480893?v=3","gravatar_id":"","url":"https://api.github.com/users/alvestrand","html_url":"https://github.com/alvestrand","followers_url":"https://api.github.com/users/alvestrand/followers","following_url":"https://api.github.com/users/alvestrand/following{/other_user}","gists_url":"https://api.github.com/users/alvestrand/gists{/gist_id}","starred_url":"https://api.github.com/users/alvestrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alvestrand/subscriptions","organizations_url":"https://api.github.com/users/alvestrand/orgs","repos_url":"https://api.github.com/users/alvestrand/repos","events_url":"https://api.github.com/users/alvestrand/events{/privacy}","received_events_url":"https://api.github.com/users/alvestrand/received_events","type":"User","site_admin":false},"created_at":"2015-10-11T06:19:06Z","updated_at":"2015-10-11T06:19:06Z","body":"I would tend towards specifying the hash explicitly - the fewer gratuitous mismatches we have between WebCrypto and what we have, the better. It takes more lines to specify \"and when you use this with WebCrypto, specify the hash SHA-256\" than to add \", hash=SHA-256\" to the specification of the \"MUST be supported\" algorithm.\r\n(specifying SHA-1 is going to require adding more lines in order to justify choosing an obsolete algorithm, even if the justification is \"it's going to be ignored\")."}}