Expose all service public keys from the past via NetworkIdentity subsystem#7690
Expose all service public keys from the past via NetworkIdentity subsystem#7690maxtropets merged 24 commits intomainfrom
Conversation
|
@copilot don't forget to add a changelog |
Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
|
Do we have a nice way to get a COSE_Key from a ECPublicKeyPtr using EverCBOR? |
I don't understand what EverCBOR has to do with COSE keys, it has no notion of COSE key mapping. What is the motivation here? For SCITT ledger, they are going to be converted to JWKs anyway, aren't they? |
Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
…orsement keys in test Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
EverCBOR is a way to serialise CBOR, and COSE_Key are CBOR objects. Keys are exposed as JWKs today, and will continue to be for a while for backwards compatibility reasons, but going forward they are going to be COSE_Key: https://ietf-wg-scitt.github.io/draft-ietf-scitt-scrapi/draft-ietf-scitt-scrapi.html#name-transparency-service-keys |
Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
…inspired context Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
|
@copilot add NetworkIdentitySubsystemInterface and TrustedKeys to the sphinx documentation via doxygen directives to expose them to users. If they do not have a doxygen string in the header in which they live, please create an appropriate one so they get picked up by doxygen correctly. |
…rface and TrustedKeys Co-authored-by: achamayou <4016369+achamayou@users.noreply.github.com>
Done in 862626b. Added |
@copilot also document the rest of the network identity interface and it's methods: using RawCoseEndorsement = std::vector<uint8_t>; |
…methods Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
Done in 591ccc9. Added |
@copilot For all the methods you've documented, make it clear which of them throw and in what cases, so the end user is expecting that, also mention the type of exception to expect. |
…rface methods Co-authored-by: maxtropets <16566519+maxtropets@users.noreply.github.com>
Done in daa2f3a. Added |
tests/infra/crypto.pyaspub_key_der_from_jwk()tests/recovery.pyto use the new helper, removing inline key-construction detailskidin trusted_keys endpoint to use SHA-256 hash of public key DER (matching COSE receipts)kid_from_key()tosrc/crypto/public_key.h/src/crypto/public_key.cppas a standalone function accepting DER bytes (not a class method, not in public API); update callers inhistory.handlogging.cppkid_from_key()doc comment insrc/crypto/public_key.hto describe the function API without unnecessary contextFetchStatus,TrustedKeys, andNetworkIdentitySubsystemInterfaceand expose via sphinxRawCoseEndorsement,CoseEndorsementsChain, and all interface methods; expose type aliases in sphinx RSTOriginal prompt
This pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.