This PR aims to introduce support for X25519KeyAgreementKey2020 and X25519KeyAgreementKeyEIP5630 verification method types
These keys are based on keyAgreement attribute. Hence, any verification method of these types can only be part of the keyAgreement attribute only, and hence they are not allowed to be used for Authentication as well as Assertion purposes. This also means that Ed25519VerificationKey2020 based Verification Methods cannot be used for keyAgreement Purposes
Test Cases:
FAIL: Ed25519VerificationKey2020 based Verification Method ID being added to keyAgreement attribute
FAIL: X25519KeyAgreementKey2020 based Verification Method ID being added to authentication attribute
PASS: A DID Document is created with Ed25519VerificationKey2020 and X25519KeyAgreementKey2020 based VMs
FAIL: An attempt is made to update the DID Document by passing the signature of X25519KeyAgreementKey2020 based verification method
PASS: An attempt is made to update the DID Document by passing the signature of Ed25519VerificationKey2020 based verification method
FAIL: An attempt is made to deactivate the DID Document by passing the signature of X25519KeyAgreementKey2020 based verification method
PASS: An attempt is made to deactivate the DID Document by passing the signature of Ed25519VerificationKey2020 based verification method
This PR aims to introduce support for
X25519KeyAgreementKey2020
andX25519KeyAgreementKeyEIP5630
verification method typesThese keys are based on
keyAgreement
attribute. Hence, any verification method of these types can only be part of thekeyAgreement
attribute only, and hence they are not allowed to be used for Authentication as well as Assertion purposes. This also means thatEd25519VerificationKey2020
based Verification Methods cannot be used forkeyAgreement
PurposesTest Cases:
FAIL: Ed25519VerificationKey2020 based Verification Method ID being added to keyAgreement attribute
FAIL: X25519KeyAgreementKey2020 based Verification Method ID being added to authentication attribute
PASS: A DID Document is created with Ed25519VerificationKey2020 and X25519KeyAgreementKey2020 based VMs
FAIL: An attempt is made to update the DID Document by passing the signature of X25519KeyAgreementKey2020 based verification method
PASS: An attempt is made to update the DID Document by passing the signature of Ed25519VerificationKey2020 based verification method
FAIL: An attempt is made to deactivate the DID Document by passing the signature of X25519KeyAgreementKey2020 based verification method
PASS: An attempt is made to deactivate the DID Document by passing the signature of Ed25519VerificationKey2020 based verification method