-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: add new tutorial page on seed generation and fixes #561
Conversation
Atala PRISM Code Coverage
Minimum allowed coverage is Generated by 🐒 cobertura-action against 323ed4f |
PRISM agent is a cloud-based agent within the SSI ecosystem that offers user | ||
DID (Decentralized Identifier) management. To generate a DID key material, | ||
the software relies on a seed, following the BIP32 / BIP39 standards. | ||
PRISM agent offers a DID (Decentralized Identifier) management solution |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRISM agent offers a DID (Decentralized Identifier) management solution | |
Cloud Agent offers a DID (Decentralized Identifier) management solution |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest using DID or Decentralized Identifier - DID has been defined multiple times before getting to this portion of the docs.
The system operators have the option to either provide their own seed or | ||
allow the software to generate one automatically. However, in a production environment, | ||
it is crucial for the system operators to explicitly supply the seed to the agent. | ||
This ensures full control over the DID key material and guarantees secure management of user identities. | ||
|
||
The PRISM agent has a default configuration of starting in non-development mode. | ||
The PRISM agent includes a development mode that conveniently bypasses certain checks during development or integration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PRISM agent includes a development mode that conveniently bypasses certain checks during development or integration. | |
The Cloud Agent includes a development mode that conveniently bypasses certain checks during development or integration. |
@@ -0,0 +1,55 @@ | |||
# Creating a PRISM agent wallet seed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Creating a PRISM agent wallet seed | |
# Creating a Cloud Agent wallet seed |
|
||
## Introduction | ||
|
||
PRISM agent utilizes a hierarchical-deterministic key derivation algorithm for managing PRISM DIDs, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRISM agent utilizes a hierarchical-deterministic key derivation algorithm for managing PRISM DIDs, | |
Cloud Agent utilizes a hierarchical-deterministic key derivation algorithm for managing PRISM DIDs, |
Given that the PRISM agent employs BIP32, it expects a 64-byte binary seed as input. | ||
Various methods exist for generating a byte sequence, each serving different purposes. | ||
|
||
PRISM agent does not have any opinion on how the seed should be generated as long as a valid hex string is provided. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRISM agent does not have any opinion on how the seed should be generated as long as a valid hex string is provided. | |
Cloud Agent has no opinion on how the seed should be generated as long as a valid hex string is provided. |
|
||
PRISM agent does not have any opinion on how the seed should be generated as long as a valid hex string is provided. | ||
However, it is strongly recommended to use high entropy for generating the master seed. | ||
PRISM agent allows customizing the wallet seed by using the environment variable `WALLET_SEED`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRISM agent allows customizing the wallet seed by using the environment variable `WALLET_SEED`. | |
Cloud Agent allows customizing the wallet seed by using the environment variable `WALLET_SEED`. |
|
||
### 1. Static seed | ||
|
||
PRISM agent expects any valid 64-byte input for a wallet seed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRISM agent expects any valid 64-byte input for a wallet seed. | |
Cloud Agent expects any valid 64-byte input for a wallet seed. |
Co-authored-by: Yurii Shynbuiev - IOHK <[email protected]>
…epo subject to the Developer Certificate of Origin (DCO), Version 1.1. 216ff3a fix(prism-agent): fix OAS on empty DID resolution representation (#616) 4fb1ca7 test: silence migration loggers in tests (#612) 7609e35 build: dependencies updates (#601) bb1f112 fix(castor): align DID document translation logic (#595) a1e457a fix(prism-agent): add did-method path segment in HD key derivation (#596) a8b2f85 build: fix failing build (#597) fa8c720 docs: improve explanation on DID update lineage (#587) c0db5c8 fix(pollux): add pagination at db level for getCredentialRecords (#586) c9e69f6 feat(prism-agent): align DID document service handling with the spec (#582) 24b2300 fix(castor): fix DID parser that failing to parse some DIDs (#581) e8411dd fix(prism-agent): fix concurrent requests breaking DID index counter (#571) 6a5f9ce fix(prism-agent): decouple secret storage backend from agent (#570) f450563 chore: cleanup unused oas api template (#566) d6ff373 test: add key derivation benchmark tests and docs (#563) 3d7696b docs: add new tutorial page on seed generation and fixes (#561) c3a5d8e fix: log seed error before effect fail (#557) ee43feb feat(prism-agent): integrate DID secret storage with Vault (#543) 6129baf feat(prism-agent): add support for hierarchical deterministic key with seed (#534) e36c634 fix(prism-agent): refactor crypto abstraction in the walletAPI (#522) 7bda5b0 chore: cleanup castor and wallet-api unused code (#519) 88eeefd feat(prism-agent): migrate did-registrar endpoint to tapir (#517) 9d587ff feat(prism-agent): migrate DID endpoint to tapir (#511) 8384fe3 feat(castor): add support for context in DID document & operation (#489) e426a82 feat(prism-node): add context to protobuf definition (#487) 6e5bc5f ci: customize protolint rule in megalinter (#478) 2af6d11 docs: update did tutorial examples (#469) af356d6 fix(prism-agent): fix incorrect long-form parsing behavior on resolution endpoint (#475) f269b7e fix(pollux): upgrade castor version (#472) 5ed0978 fix(castor): fix unintended ordering behavior when parsing long-form DID (#471) 1cbb729 feat(prism-agent): add universal-resolver compatible endpoint (#455) 184838c docs: add docusaurus deactivate DID guide (#437) 30d11ff docs: improve DID OAS documentation (#442) 8b34217 docs: add docusaurus DID update guide (#417) 490ae2d docs: docusaurus publish DID guide (#406) bf03674 fix(prism-agent): avoid race condition when update or deactivate DID (#415) dd04c3f fix(prism-agent): add consistency to documentation of OAS on DID endpoints (#408) 447817d tests(prism-agent): fix failing e2e Prism DID scenarios (#402) 6a98f70 fix(prism-agent): add uri normalization on UpdateService patch (#401) cd77edc docs: add create-DID docusaurus guide (#383) a21e388 feat(prism-agent): add pagination to did-registrar list DID endpoint (#394) 3d08996 feat(prism-agent): fix DID service URI class and improve validation error response message (#389) 757b16b feat(pollux): upgrade castor vertion to 0.8.1 (#388) f92fed6 fix(castor): use URI that is compliant to RFC3986 (#385) 1aa856f feat(prism-agent): do not create new Prism DID when proof presentation is generated (#378) 253f827 feat(pollux): check prover DID is the same as VC subject when creating a VP (#377) 1305555 test(pollox): make munit tests run (#374) 1c1a171 feat(prism-agent): issue credential to Prism DID holder by Prism DID issuer (#373) 5a1acde feat(pollux): support issuing VC to Prism DID subject by Prism DID issuer (#371) 74e1d21 test(prism-agent): add wallet-api and key-management tests (#362) b8643a8 feat(prism-agent): upgrade castor and pollux and align OAS to the DID spec (#342) 00a6026 feat(pollux): upgrade castor and update DID public key extraction logic (#339) 7992b80 feat(castor): align castor implementation with DID spec (#336) 29a804f feat(prism-agent): add deactivate DID endpoint (#326) de180a6 feat(pollux): upgrade castor to 0.7.0 (#330) 5ceb7e9 feat(castor): add support DID deactivate operation (#325) a934cd4 fix(prism-agent): remove deprecated did-auth endpoints (#324) a57365f feat(prism-agent): enable update DID operation on prism-agent (#307) c97624d feat(pollux): upgrade castor to 0.6.0 (#320) 27b77b2 feat(castor): add support for DID update operation (#306) af71ba1 ci: disable tsql linter and customise sql-lint linter (#313) 762c0cf ci: use latest megalinter version 6.18 for pre-commit hook (#308) 5661e76 feat(castor): upgrade node client for new key type (#287) a533507 feat(prism-node): align Prism DID protobuf key type (#286) 7e116a3 feat(prism-agent): implement JDBC did nonsecret storage (#284) ea10db5 feat(pollux): integrate castor resolver to pollux-jwt-vc library (#250) 27370ab fix(castor): add missing did document field (#251) 0ba3b89 feat(prism-agent): upgrade castor version with DID serviceEndpoint (#229) 8223740 feat(castor): upgrade castor with service in protobuf definition (#224) 8a6bad5 feat(prism-agent): bump dependencies version (#228) 53841d6 feat(prism-node): move api directory / make client releasable (#223) 680ef7b feat(prism-node): add service to prism-node protobuf (#222) d7618eb infra: make prism-agent wait for db (#218) e149f58 build(prism-agent): remove mistakenly added sbt settings (#214) 0308b4f feat(prism-agent): remove unused / deprecated DID endpoints (#213) d5e08ab feat(prism-agent): implement get DIDs endpoint (#198) 7fba9b0 feat(prism-agent): implement DID resolution endpoint (#184) d72159f feat(castor): implement translation of Node DidData to W3C DidDocument (#182) e85e7c0 feat(prism-agent): upgrade castor on prism-agent (#141) 56cc1c3 feat(connect): bump up shared version to use 0.2.0 4809414 feat(pollux): fix shared version to 0.2.0 5e3445f feat(castor): update castor to use prism-node protobuf (#136) 14906a6 chore(pollux): upgrade shared lib version (#148) 70555c9 feat(shared): add base64 helper function (#135) b39e38f ci(prism-node): add prism-node github workflow (#129) 948e864 feat(prism-node): add prism-node scala grpc client generation (#128) 71937da ci: add prism-node commit scope (#127) a873090 fix(prism-agent): reuse db connection for background job (#102) 9cd1faa ci: rename commit scope agent to prism-agent (#97) 4a88ded feat(agent): integrate key-manage into prism-agent server (#77) 47dc3cd feat: define key-management interface (3) (#71) a19a781 fix(iris): align type signature (#72) bcb0991 [ATL-1925] feat(agent): define key-management interface (2) (#66) 6f5534d [ATL-1925] feat(agent): define key-management interface (1) (#63) 8492422 [ATL-1926] feat(castor): implement createPublishedDID (3) (#58) f6afd38 [ATL-1926] feat(castor): implement createPublishedDID (2) (#53) 4e5260e [ATL-1926] feat(castor): implement createPublishedDID functionality (1) (#48) 24786b9 [ATL-1924] feat: rfc17 repo restructure (#47) 6f25f4c [ATL-1808] feat(castor): update http server for new OAS (#35) 642a2cd [ATL-1759] feat(castor): merge worker and api-server into a single runnable (#28) 45a18c9 [ATL-1759] feat(castor): castor services scaffolding (#24) ca13854 Merge pull request #13 from input-output-hk/resolve-castor-c4-comment fa7688c docs(castor): adjust diagram according to review comments 359ffd6 [ATL-1477] add Castor C4 diagram (#6) Signed-off-by: Pat Losoponkul <[email protected]>
…epo subject to the Developer Certificate of Origin (DCO), Version 1.1. 216ff3a fix(prism-agent): fix OAS on empty DID resolution representation (#616) 4fb1ca7 test: silence migration loggers in tests (#612) 7609e35 build: dependencies updates (#601) bb1f112 fix(castor): align DID document translation logic (#595) a1e457a fix(prism-agent): add did-method path segment in HD key derivation (#596) a8b2f85 build: fix failing build (#597) fa8c720 docs: improve explanation on DID update lineage (#587) c0db5c8 fix(pollux): add pagination at db level for getCredentialRecords (#586) c9e69f6 feat(prism-agent): align DID document service handling with the spec (#582) 24b2300 fix(castor): fix DID parser that failing to parse some DIDs (#581) e8411dd fix(prism-agent): fix concurrent requests breaking DID index counter (#571) 6a5f9ce fix(prism-agent): decouple secret storage backend from agent (#570) f450563 chore: cleanup unused oas api template (#566) d6ff373 test: add key derivation benchmark tests and docs (#563) 3d7696b docs: add new tutorial page on seed generation and fixes (#561) c3a5d8e fix: log seed error before effect fail (#557) ee43feb feat(prism-agent): integrate DID secret storage with Vault (#543) 6129baf feat(prism-agent): add support for hierarchical deterministic key with seed (#534) e36c634 fix(prism-agent): refactor crypto abstraction in the walletAPI (#522) 7bda5b0 chore: cleanup castor and wallet-api unused code (#519) 88eeefd feat(prism-agent): migrate did-registrar endpoint to tapir (#517) 9d587ff feat(prism-agent): migrate DID endpoint to tapir (#511) 8384fe3 feat(castor): add support for context in DID document & operation (#489) e426a82 feat(prism-node): add context to protobuf definition (#487) 6e5bc5f ci: customize protolint rule in megalinter (#478) 2af6d11 docs: update did tutorial examples (#469) af356d6 fix(prism-agent): fix incorrect long-form parsing behavior on resolution endpoint (#475) f269b7e fix(pollux): upgrade castor version (#472) 5ed0978 fix(castor): fix unintended ordering behavior when parsing long-form DID (#471) 1cbb729 feat(prism-agent): add universal-resolver compatible endpoint (#455) 184838c docs: add docusaurus deactivate DID guide (#437) 30d11ff docs: improve DID OAS documentation (#442) 8b34217 docs: add docusaurus DID update guide (#417) 490ae2d docs: docusaurus publish DID guide (#406) bf03674 fix(prism-agent): avoid race condition when update or deactivate DID (#415) dd04c3f fix(prism-agent): add consistency to documentation of OAS on DID endpoints (#408) 447817d tests(prism-agent): fix failing e2e Prism DID scenarios (#402) 6a98f70 fix(prism-agent): add uri normalization on UpdateService patch (#401) cd77edc docs: add create-DID docusaurus guide (#383) a21e388 feat(prism-agent): add pagination to did-registrar list DID endpoint (#394) 3d08996 feat(prism-agent): fix DID service URI class and improve validation error response message (#389) 757b16b feat(pollux): upgrade castor vertion to 0.8.1 (#388) f92fed6 fix(castor): use URI that is compliant to RFC3986 (#385) 1aa856f feat(prism-agent): do not create new Prism DID when proof presentation is generated (#378) 253f827 feat(pollux): check prover DID is the same as VC subject when creating a VP (#377) 1305555 test(pollox): make munit tests run (#374) 1c1a171 feat(prism-agent): issue credential to Prism DID holder by Prism DID issuer (#373) 5a1acde feat(pollux): support issuing VC to Prism DID subject by Prism DID issuer (#371) 74e1d21 test(prism-agent): add wallet-api and key-management tests (#362) b8643a8 feat(prism-agent): upgrade castor and pollux and align OAS to the DID spec (#342) 00a6026 feat(pollux): upgrade castor and update DID public key extraction logic (#339) 7992b80 feat(castor): align castor implementation with DID spec (#336) 29a804f feat(prism-agent): add deactivate DID endpoint (#326) de180a6 feat(pollux): upgrade castor to 0.7.0 (#330) 5ceb7e9 feat(castor): add support DID deactivate operation (#325) a934cd4 fix(prism-agent): remove deprecated did-auth endpoints (#324) a57365f feat(prism-agent): enable update DID operation on prism-agent (#307) c97624d feat(pollux): upgrade castor to 0.6.0 (#320) 27b77b2 feat(castor): add support for DID update operation (#306) af71ba1 ci: disable tsql linter and customise sql-lint linter (#313) 762c0cf ci: use latest megalinter version 6.18 for pre-commit hook (#308) 5661e76 feat(castor): upgrade node client for new key type (#287) a533507 feat(prism-node): align Prism DID protobuf key type (#286) 7e116a3 feat(prism-agent): implement JDBC did nonsecret storage (#284) ea10db5 feat(pollux): integrate castor resolver to pollux-jwt-vc library (#250) 27370ab fix(castor): add missing did document field (#251) 0ba3b89 feat(prism-agent): upgrade castor version with DID serviceEndpoint (#229) 8223740 feat(castor): upgrade castor with service in protobuf definition (#224) 8a6bad5 feat(prism-agent): bump dependencies version (#228) 53841d6 feat(prism-node): move api directory / make client releasable (#223) 680ef7b feat(prism-node): add service to prism-node protobuf (#222) d7618eb infra: make prism-agent wait for db (#218) e149f58 build(prism-agent): remove mistakenly added sbt settings (#214) 0308b4f feat(prism-agent): remove unused / deprecated DID endpoints (#213) d5e08ab feat(prism-agent): implement get DIDs endpoint (#198) 7fba9b0 feat(prism-agent): implement DID resolution endpoint (#184) d72159f feat(castor): implement translation of Node DidData to W3C DidDocument (#182) e85e7c0 feat(prism-agent): upgrade castor on prism-agent (#141) 56cc1c3 feat(connect): bump up shared version to use 0.2.0 4809414 feat(pollux): fix shared version to 0.2.0 5e3445f feat(castor): update castor to use prism-node protobuf (#136) 14906a6 chore(pollux): upgrade shared lib version (#148) 70555c9 feat(shared): add base64 helper function (#135) b39e38f ci(prism-node): add prism-node github workflow (#129) 948e864 feat(prism-node): add prism-node scala grpc client generation (#128) 71937da ci: add prism-node commit scope (#127) a873090 fix(prism-agent): reuse db connection for background job (#102) 9cd1faa ci: rename commit scope agent to prism-agent (#97) 4a88ded feat(agent): integrate key-manage into prism-agent server (#77) 47dc3cd feat: define key-management interface (3) (#71) a19a781 fix(iris): align type signature (#72) bcb0991 [ATL-1925] feat(agent): define key-management interface (2) (#66) 6f5534d [ATL-1925] feat(agent): define key-management interface (1) (#63) 8492422 [ATL-1926] feat(castor): implement createPublishedDID (3) (#58) f6afd38 [ATL-1926] feat(castor): implement createPublishedDID (2) (#53) 4e5260e [ATL-1926] feat(castor): implement createPublishedDID functionality (1) (#48) 24786b9 [ATL-1924] feat: rfc17 repo restructure (#47) 6f25f4c [ATL-1808] feat(castor): update http server for new OAS (#35) 642a2cd [ATL-1759] feat(castor): merge worker and api-server into a single runnable (#28) 45a18c9 [ATL-1759] feat(castor): castor services scaffolding (#24) ca13854 Merge pull request #13 from input-output-hk/resolve-castor-c4-comment fa7688c docs(castor): adjust diagram according to review comments 359ffd6 [ATL-1477] add Castor C4 diagram (#6) Signed-off-by: Pat Losoponkul <[email protected]>
Overview
Fixes ATL-4935
Checklist
My PR contains...
My changes...
Documentation
Tests