WICG/trust-token-api

Add a definition for "major version"

miketaylr opened this issue · 3 comments

And some kind of description of how to make one - is it "foov3"? Or "three"? Do you take the name of some crypto thingy and concat with an integer? Etc.

That way other browsers can implement the same versions, which developers would appreciate.

I just realized there is sort of a definition in place:

NOTE: pstVersion is a string identifier representing different cryptographic versions of tokens that can be used with this API. User agents should only select keys for versions they support, ordered by which versions they prefer based on performance and any user defined preferences.

Just above that in #look-up-the-key-commitments, pstVersion isn't really defined either.

I think we want to say something like For each |pstVersion| in |issuerKeys|[|version|]... do somethign?

I'm not sure if you can have multiple versions for the same origin, if not, this could probably be further simplified.

Ah, there's some more non-normative text that kind of defines this (I think)?

https://wicg.github.io/trust-token-api/#issuer-public-keys

`<cryptographic protocol version>` is a string identifier for the Private State Token
    protocol version used. The same string is used as a value of the inner
    `"protocol_version"` field....

@aykutbulut @dvorak42 are these all the same concepts? Or are there 2 possible version types?

There are two versions.

  1. Private Token version. This is for backwards compatibility in case an issuer would like to introduce a new version for their tokens.
  2. Private State Token cryptographic protocol version. This crypto versions for Private State Tokens (a Private Token type).