Re: [Webpush] Vapid public key

Martin Thomson <martin.thomson@gmail.com> Mon, 21 November 2016 01:32 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 81EF41293EB for <webpush@ietfa.amsl.com>; Sun, 20 Nov 2016 17:32:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FHTpWN5NuNjr for <webpush@ietfa.amsl.com>; Sun, 20 Nov 2016 17:32:21 -0800 (PST)
Received: from mail-qt0-x232.google.com (mail-qt0-x232.google.com [IPv6:2607:f8b0:400d:c0d::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE894126B6D for <webpush@ietf.org>; Sun, 20 Nov 2016 17:32:20 -0800 (PST)
Received: by mail-qt0-x232.google.com with SMTP id p16so193593317qta.0 for <webpush@ietf.org>; Sun, 20 Nov 2016 17:32:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7H1k2QAJ1O9ZH3h18i+7+xMLZ4osijUCrrwVmJpnfec=; b=Ot14VyY9pS1YKiT8X3v3zDsfKjHEB3j0UBPIT/yCdhfxnJ26NYbohGtZd4m5wEqNYq OT5kbSH1AJp6MS4ekXapfpA4FsTWVZYYsJ8LKQQy001QRrRpGOZixlM5Wy9PDlTe1AgH 0SU4N+VjzoJ/mS0Y91XqJ953w2b6s2M4iMouIWJBdFc7X2/inLCNgkHrbu2oCUsrRDtZ uaAATR+DOVZr294l5bpLeCZkXg7nTLPHIY8aUb/t1Rs9olcgX+XpiGq3XVhfC26Frh+K D3N14pDLNZlOgDhwxV2pW3s+U47miIBc3xHqw+slf8qfF3dItUafs6EIh2nQ5HVjtiPQ MSsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7H1k2QAJ1O9ZH3h18i+7+xMLZ4osijUCrrwVmJpnfec=; b=G0hdzdncCK62RPvpPJR26BHWnAyO3/LIYWGZtevDnf7dbi+dFxdewpL41aUsH4/ILI q9PPSUsOL3/oVX4kW+vc1Uxkq43tkF8arDI0PGrFpiFcAFWElewLXbdoXeC+NSUviRYj BEipXGY2WijfMfjMUViSDmTo4BU2fizLdq117POCNbKOKZ2EMa2Q4rJzdQuIpXdisuoY +GUOTDle6R9s2FW/c5qp6pzIx0BNjSM3eem4+fy0lURAjLusyTTu2clnlXNPtax7Ex6G lJpZ7+Rt08Xj6R2e+qIuRn6ydKlB2QYfGgnbmLLNpd27yA8UwTghvlwZ+9CS9VlNZMeO m9Eg==
X-Gm-Message-State: AKaTC01mWlfU1AH4RhgkmuZJN07zNIrOSqTkh9yoG7ajKrdaTmRpE6sagOZGdoC/zR8ryVYZdG3tOBsg24gQbg==
X-Received: by 10.200.52.87 with SMTP id v23mr7273223qtb.143.1479691940090; Sun, 20 Nov 2016 17:32:20 -0800 (PST)
MIME-Version: 1.0
Received: by 10.140.85.101 with HTTP; Sun, 20 Nov 2016 17:32:19 -0800 (PST)
In-Reply-To: <CAP8-Fqn3ji66Ox3dEj_SifEpxgmYZrLWoyYy36PUS0o6eTLZrw@mail.gmail.com>
References: <CABkgnnVKd+kAZPD5KirF7NaGMDBSpaO6FR3yE8d+c3ge3-He3w@mail.gmail.com> <CAP8-FqmBUHd5up7Jfo+veFWvL22XiPwGGXNnOW6rm7nxeESU_g@mail.gmail.com> <CABkgnnX4aAjnZyu3morJOLatuuj9k4NSoTpoNtF7YjtRUFQOnQ@mail.gmail.com> <CAP8-Fq=Zd66ZhWm+gYesOpc2NZ-YBpy2+bHdr6O+h1KG2s16uw@mail.gmail.com> <CABkgnnX8bmzsmx0EGJ8h5R4k4i=3KBaLXucekyv98PTz01f9fw@mail.gmail.com> <CABkgnnVvVHMFrbJYgF9GZEumDhvM_kHBf30TdHWxzSzpX1_CTw@mail.gmail.com> <CAP8-Fqn3ji66Ox3dEj_SifEpxgmYZrLWoyYy36PUS0o6eTLZrw@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Mon, 21 Nov 2016 12:32:19 +1100
Message-ID: <CABkgnnVaekCff2rxz2CWG9M+s=ud2k7J6ca_bLZRvwF5vZdAww@mail.gmail.com>
To: Costin Manolache <costin@gmail.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/Io37luZutUUXR9U8m8h5lrMy4Io>
Cc: jr conlin <jconlin@mozilla.com>, "webpush@ietf.org" <webpush@ietf.org>, Peter Beverloo <beverloo@google.com>
Subject: Re: [Webpush] Vapid public key
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Nov 2016 01:32:22 -0000

On 20 November 2016 at 02:53, Costin Manolache <costin@gmail.com> wrote:
> One more small suggestion: one of the pain points ( for me ) is the W3C
> subscribe taking the
> vapid pubkey as bytes instead of a string, and having to include the key in
> .js files as a constant.

Your suggestion being that we define a base64url parser.  You can
include the key in the form Uint8Array.from([4, 5, 6, 6, ...]);  It's
bigger and you have to work it out once, but it saves shipping a
converter.

Either way, this is probably something to take here:
https://github.com/w3c/push-api/issues

> Would it be possible to define a .well-known/vapid/... file where the public
> key can be saved ?
> This may simplify tools, testing ( test env may use test sender keys), etc.
> One problem is that
> .well-known is at root - so either have
> /.well-known/vapid/ENCODED_SW_URL.pub or
> have a less standard .well-known/ in the same directory with the SW.

Now that we are considering removal of Crypto-Key (I'm about to send
out drafts with that change), I need to work out how to push the keys
along with the registration.  I don't think that using .well-known
will give us the right binding to the subscription request though.

Maybe I don't understand the proposal, though.  Can you walk through
how a client would use this?