Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Violation between webpush-encryption and webpush-vapid #6

Closed
beverloo opened this issue Jun 28, 2016 · 1 comment
Closed

Violation between webpush-encryption and webpush-vapid #6

beverloo opened this issue Jun 28, 2016 · 1 comment

Comments

@beverloo
Copy link
Contributor

draft-ietf-webpush-encryption-02 defines:

An application server MUST include exactly one entry in each of the Encryption and Crypto-Key header fields.

This removes a number of edge-cases and simplifies implementations. However, draft-ietf-webpush-vapid-00 defines:

Note that with push message encryption I-D.ietf-webpush-encryption, this results in two values in the Crypto-Key header field, one with the a "p256dh" key and another with a "p256ecdsa" key.

Which is a violation of the former.

Semantically it makes most sense for these to be distinct values since they're intended for different audiences. I'll propose a PR limiting webpush-encryption to one Crypto-Key entry having a dh value instead.

@jrconlin
Copy link

Because life is complicated, there are some libraries that are using ";" and creating a single parameter set containing both ECE and VAPID parameters, e.g.

dh=abc123...;p256ecdsa=efg876...;keyid=label

Because of "quirks" in both the mozilla and FCM handlers, this works.

It may be beneficial if legacy push servers continue to support this behavior while libraries and applications that depend on them transition to any new division format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants