- From: Martin Thomson <notifications@github.com>
- Date: Sat, 26 Nov 2016 22:03:45 -0800
- To: w3c/push-api <push-api@noreply.github.com>
- Message-ID: <w3c/push-api/pull/227/review/10225358@github.com>
martinthomson commented on this pull request. > @@ -601,10 +603,22 @@ provided, or a <code><a>PushSubscriptionOptions</a></code> dictionary with default values. </li> <li>If <var>allOptions</var> includes a non-null value for the - <code><a>applicationServerKey</a></code> attribute, check that the value is valid (i.e., - ensure that it describes a valid point on the P-256 curve). If the - <code><a>applicationServerKey</a></code> value is invalid, reject <var>promise</var> with - an <code><a>InvalidAccessError</a></code> and terminate these steps. + <code><a>applicationServerKey</a></code> attribute, run the following substeps: + <ol> + <li>Let <var>applicationServerKey</var> be the sequence of octets in + <code><a>applicationServerKey</a></code> when provided as a <code><a>BufferSource</a></code>, + or the sequence of octets that results from decoding + <code><a>applicationServerKey</a></code> using the URL-safe base64 encoding [[!RFC4648]] + when provided as a <code><a>DOMString</a></code>. If decoding fails, reject + <var>promise</var> with a <code><a>DOMException</a></code> whose name is + "<code><a>InvalidCharacterError</a></code>" and terminate these steps. What do we do about padding (the trailing '===')? > @@ -601,10 +603,22 @@ provided, or a <code><a>PushSubscriptionOptions</a></code> dictionary with default values. </li> <li>If <var>allOptions</var> includes a non-null value for the - <code><a>applicationServerKey</a></code> attribute, check that the value is valid (i.e., - ensure that it describes a valid point on the P-256 curve). If the - <code><a>applicationServerKey</a></code> value is invalid, reject <var>promise</var> with - an <code><a>InvalidAccessError</a></code> and terminate these steps. + <code><a>applicationServerKey</a></code> attribute, run the following substeps: + <ol> + <li>Let <var>applicationServerKey</var> be the sequence of octets in + <code><a>applicationServerKey</a></code> when provided as a <code><a>BufferSource</a></code>, + or the sequence of octets that results from decoding + <code><a>applicationServerKey</a></code> using the URL-safe base64 encoding [[!RFC4648]] You can use RFC 7515 and base64url, which is a more precise encoding (and one that addresses my next comment). -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/push-api/pull/227#pullrequestreview-10225358
Received on Sunday, 27 November 2016 06:04:45 UTC