if the root key changes, it can happen that we receive tokens signed with different keys. The root key id field is use to indicate which key should be used. We introduce the KeyDelegate interface to let the caller decide which root key will be used.
I used polymorphism to avoid breaking existing APIs, but that introduces a lot of new methods, and I'm worried I might have missed one. Is it fine to proceed like this @KannarFr ?
if the root key changes, it can happen that we receive tokens signed with different keys. The root key id field is use to indicate which key should be used. We introduce the KeyDelegate interface to let the caller decide which root key will be used.