aries-cloudagent-python
aries-cloudagent-python copied to clipboard
Support for NIST P-256 curve as signature algorithm for W3C credentials
Hello, in preparation for device-bound credentials as proposed in DIF Wallet Security I am looking into supported algorithms of the acapy. According to this issue and this documentation W3C Credentials only support two algorithms:
- bbs+
- ed25519
Both algorithms are not supported by (alomst) any hardware chips. The proposed solution is NIST p256 curve as signature proof algorithm, which is also provided by underlying askar wallet.
Have there been any ideas/thoughts/objections on integrating additional signature types?
It should be straightforward to implement ECDSA signatures for P256, P384 (which will be in the next version), and secp256k1 when an Askar wallet is used. I think we also include native Python libraries which could be used for testing compatibility.
We've done a proof of concept of this with Askar in a plugin and it was indeed pretty easy to implement. Quick and dirty, it was a matter of minutes. Preparing something for actually merging upstream would require more effort but still shouldn't be bad.
Is there a reference open source implementation of ECDSA (secp256k1) for ACAPY?