From 55cc96984235fa670b3116d68b6028fb75c7d80d Mon Sep 17 00:00:00 2001 From: Stephen Curran Date: Tue, 1 Oct 2024 12:05:19 -0700 Subject: [PATCH] 1.0.1rc1 Signed-off-by: Stephen Curran --- CHANGELOG.md | 20 +- Managing-ACA-Py-Doc-Site.md | 4 +- PUBLISHING.md | 4 +- docs/features/SupportedRFCs.md | 2 +- ...udagent.vc.data_integrity.cryptosuites.rst | 18 ++ ...es_cloudagent.vc.data_integrity.models.rst | 34 +++ .../aries_cloudagent.vc.data_integrity.rst | 43 ++++ docs/generated/aries_cloudagent.vc.rst | 1 + open-api/openapi.json | 202 +++++++++++++++++- open-api/swagger.json | 185 +++++++++++++++- pyproject.toml | 2 +- 11 files changed, 501 insertions(+), 14 deletions(-) create mode 100644 docs/generated/aries_cloudagent.vc.data_integrity.cryptosuites.rst create mode 100644 docs/generated/aries_cloudagent.vc.data_integrity.models.rst create mode 100644 docs/generated/aries_cloudagent.vc.data_integrity.rst diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a70e66101..8d40c7d5a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Aries Cloud Agent Python Changelog -## 1.0.1rc0 +## 1.0.1rc1 -### September 25, 2024 +### October 1, 2024 Release 1.0.1 _might_ be the last release of ACA-Py from the Hyperledger organization before the repository moves to the [OpenWallet Foundation] (OWF). As @@ -17,9 +17,12 @@ For details on what this means for ACA-Py users, including steps for updating de [GitHub Issue #3250]: https://github.com/hyperledger/aries-cloudagent-python/issues/3250 The release contains mostly internal clean ups, technical debt elimination, and -a revision to the integration testing approach, incorporating the [Aries Agent Test Harness] tests in the ACA-Py continuous integration testing process. +a revision to the integration testing approach, incorporating the [Aries Agent Test Harness] tests in the ACA-Py continuous integration testing process. There are substantial enhancements in the +management of keys and their use with [VC-DI] proofs, and web-based DID methods like +`did:web`. See the `Wallet and Key Handling` updates in the categorized PR list below. [Aries Agent Test Harness]: https://github.com/hyperledger/aries-agent-test-harness +[VC-DI]: https://www.w3.org/TR/vc-data-integrity/ There are several important **[deprecation notices](#deprecation-notices)** in this release in preparation for the next ACA-Py release. Please review these notifications carefully! @@ -55,13 +58,15 @@ list of those PRs. [RFC 0453 Issue Credential v2.0]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0453-issue-credential-v2/ [RFC 0454 Present Proof v2.0]: https://hyperledger.github.io/aries-rfcs/latest/aip2/0454-present-proof-v2/ -### 1.0.1rc0 Breaking Changes +### 1.0.1rc1 Breaking Changes There are no breaking changes in ACA-Py Release 1.0.1. -#### 1.0.1rc0 Categorized List of Pull Requests +#### 1.0.1rc1 Categorized List of Pull Requests - Wallet and Key Handling Updates + - Data integrity routes [\#3261](https://github.com/hyperledger/aries-cloudagent-python/pull/3261) [PatStLouis](https://github.com/PatStLouis) + - [BUG] Handle get key operation when no tag has been set [\#3256](https://github.com/hyperledger/aries-cloudagent-python/pull/3256) [PatStLouis](https://github.com/PatStLouis) - Feature multikey management [\#3246](https://github.com/hyperledger/aries-cloudagent-python/pull/3246) [PatStLouis](https://github.com/PatStLouis) - chore: delete unused keypair storage manager [\#3245](https://github.com/hyperledger/aries-cloudagent-python/pull/3245) [dbluhm](https://github.com/dbluhm) @@ -85,6 +90,8 @@ There are no breaking changes in ACA-Py Release 1.0.1. - Change integration testing [\#3194](https://github.com/hyperledger/aries-cloudagent-python/pull/3194) [jamshale](https://github.com/jamshale) - Dependencies and Internal Fixes/Updates: + - Adjust sonarcloud and integration test workflows [\#3259](https://github.com/hyperledger/aries-cloudagent-python/pull/3259) [jamshale](https://github.com/jamshale) + - fix: enable refreshing did endpoint using mediator info [\#3260](https://github.com/hyperledger/aries-cloudagent-python/pull/3260) [dbluhm](https://github.com/dbluhm) - Removing padding from url invitations [\#3238](https://github.com/hyperledger/aries-cloudagent-python/pull/3238) [jamshale](https://github.com/jamshale) - Ensure that DAP_PORT is always an int [\#3241](https://github.com/hyperledger/aries-cloudagent-python/pull/3241) [Gavinok](https://github.com/Gavinok) - Fix logic to send verbose webhooks [\#3193](https://github.com/hyperledger/aries-cloudagent-python/pull/3193) [ianco](https://github.com/ianco) @@ -94,10 +101,11 @@ There are no breaking changes in ACA-Py Release 1.0.1. - [ POST v1.0.0 ] Adjust message queue error handling [\#3170](https://github.com/hyperledger/aries-cloudagent-python/pull/3170) [jamshale](https://github.com/jamshale) - Release management pull requests: + - 1.0.1rc1 [\#3268](https://github.com/hyperledger/aries-cloudagent-python/pull/3268) [swcurran](https://github.com/swcurran) - 1.0.1rc0 [\#3254](https://github.com/hyperledger/aries-cloudagent-python/pull/3254) [swcurran](https://github.com/swcurran) - Dependabot PRs - - [Link to list of Dependabot PRs in this release](https://github.com/hyperledger/aries-cloudagent-python/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-15..2024-09-25+author%3Aapp%2Fdependabot+) + - [Link to list of Dependabot PRs in this release](https://github.com/hyperledger/aries-cloudagent-python/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-15..2024-10-01+author%3Aapp%2Fdependabot+) ## 1.0.0 diff --git a/Managing-ACA-Py-Doc-Site.md b/Managing-ACA-Py-Doc-Site.md index 600ff37125..edc5a375cc 100644 --- a/Managing-ACA-Py-Doc-Site.md +++ b/Managing-ACA-Py-Doc-Site.md @@ -20,7 +20,7 @@ and mkdocs configuration. When the GitHub Action fires, it runs a container that carries out the following steps: -- Checks out the triggering branch, either `main` or `docs-v` (e.g `docs-v1.0.1rc0`). +- Checks out the triggering branch, either `main` or `docs-v` (e.g `docs-v1.0.1rc1`). - Runs the script [scripts/prepmkdocs.sh], which moves and updates some of the markdown files so that they fit into the generated site. See the comments in the scripts for details about the copying and editing done via the script. In @@ -97,7 +97,7 @@ To delete the documentation version, do the following: - Check your `git status` and make sure there are no changes in the branch -- e.g., new files that shouldn't be added to the `gh-pages` branch. If there are any -- delete the files so they are not added. -- Remove the folder for the RC. For example `rm -rf 1.0.1rc0` +- Remove the folder for the RC. For example `rm -rf 1.0.1rc1` - Edit the `versions.json` file and remove the reference to the RC release in the file. - Push the changes via a PR to the ACA-Py `gh-pages` branch (don't PR them into diff --git a/PUBLISHING.md b/PUBLISHING.md index 0b2043b94d..7f694506d6 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -6,7 +6,7 @@ a major, minor or patch release, per [semver](https://semver.org/) rules. Once ready to do a release, create a local branch that includes the following updates: -1. Create a local PR branch from an updated `main` branch, e.g. "1.0.1rc0". +1. Create a local PR branch from an updated `main` branch, e.g. "1.0.1rc1". 2. See if there are any Document Site `mkdocs` changes needed. Run the script `./scripts/prepmkdocs.sh; mkdocs`. Watch the log, noting particularly if @@ -139,7 +139,7 @@ Include a PR for this soon-to-be PR. You can guess at the number of the PR by us [publish-indy.yml]: https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish-indy.yml 12. When a new release is tagged, create a new branch at the same commit with - the branch name in the format `docs-v`, for example, `docs-v1.0.1rc0`. + the branch name in the format `docs-v`, for example, `docs-v1.0.1rc1`. The creation of the branch triggers the execution of the [publish-docs] GitHub Action which generates the documentation for the new release, publishing it at [https://aca-py.org]. The GitHub Action also executes when diff --git a/docs/features/SupportedRFCs.md b/docs/features/SupportedRFCs.md index f6c2945ebd..1400617258 100644 --- a/docs/features/SupportedRFCs.md +++ b/docs/features/SupportedRFCs.md @@ -8,7 +8,7 @@ ACA-Py or the repository `main` branch. Reminders (and PRs!) to update this page welcome! If you have any questions, please contact us on the #aries channel on [Hyperledger Discord](https://discord.gg/hyperledger) or through an issue in this repo. -**Last Update**: 2024-09-25, Release 1.0.1rc0 +**Last Update**: 2024-10-01, Release 1.0.1rc1 > The checklist version of this document was created as a joint effort > between [Northern Block](https://northernblock.io/), [Animo Solutions](https://animo.id/) and the Ontario government, on behalf of the Ontario government. diff --git a/docs/generated/aries_cloudagent.vc.data_integrity.cryptosuites.rst b/docs/generated/aries_cloudagent.vc.data_integrity.cryptosuites.rst new file mode 100644 index 0000000000..fc09cac89b --- /dev/null +++ b/docs/generated/aries_cloudagent.vc.data_integrity.cryptosuites.rst @@ -0,0 +1,18 @@ +aries\_cloudagent.vc.data\_integrity.cryptosuites package +========================================================= + +.. automodule:: aries_cloudagent.vc.data_integrity.cryptosuites + :members: + :undoc-members: + :show-inheritance: + +Submodules +---------- + +aries\_cloudagent.vc.data\_integrity.cryptosuites.eddsa\_jcs\_2022 module +------------------------------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.cryptosuites.eddsa_jcs_2022 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/generated/aries_cloudagent.vc.data_integrity.models.rst b/docs/generated/aries_cloudagent.vc.data_integrity.models.rst new file mode 100644 index 0000000000..b4f0bf975c --- /dev/null +++ b/docs/generated/aries_cloudagent.vc.data_integrity.models.rst @@ -0,0 +1,34 @@ +aries\_cloudagent.vc.data\_integrity.models package +=================================================== + +.. automodule:: aries_cloudagent.vc.data_integrity.models + :members: + :undoc-members: + :show-inheritance: + +Submodules +---------- + +aries\_cloudagent.vc.data\_integrity.models.options module +---------------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.models.options + :members: + :undoc-members: + :show-inheritance: + +aries\_cloudagent.vc.data\_integrity.models.proof module +-------------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.models.proof + :members: + :undoc-members: + :show-inheritance: + +aries\_cloudagent.vc.data\_integrity.models.verification\_response module +------------------------------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.models.verification_response + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/generated/aries_cloudagent.vc.data_integrity.rst b/docs/generated/aries_cloudagent.vc.data_integrity.rst new file mode 100644 index 0000000000..e0be3b52ea --- /dev/null +++ b/docs/generated/aries_cloudagent.vc.data_integrity.rst @@ -0,0 +1,43 @@ +aries\_cloudagent.vc.data\_integrity package +============================================ + +.. automodule:: aries_cloudagent.vc.data_integrity + :members: + :undoc-members: + :show-inheritance: + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + aries_cloudagent.vc.data_integrity.cryptosuites + aries_cloudagent.vc.data_integrity.models + +Submodules +---------- + +aries\_cloudagent.vc.data\_integrity.errors module +-------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.errors + :members: + :undoc-members: + :show-inheritance: + +aries\_cloudagent.vc.data\_integrity.manager module +--------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.manager + :members: + :undoc-members: + :show-inheritance: + +aries\_cloudagent.vc.data\_integrity.routes module +-------------------------------------------------- + +.. automodule:: aries_cloudagent.vc.data_integrity.routes + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/generated/aries_cloudagent.vc.rst b/docs/generated/aries_cloudagent.vc.rst index 6a653143c1..3e2ee093e6 100644 --- a/docs/generated/aries_cloudagent.vc.rst +++ b/docs/generated/aries_cloudagent.vc.rst @@ -12,6 +12,7 @@ Subpackages .. toctree:: :maxdepth: 4 + aries_cloudagent.vc.data_integrity aries_cloudagent.vc.ld_proofs aries_cloudagent.vc.vc_di aries_cloudagent.vc.vc_ld diff --git a/open-api/openapi.json b/open-api/openapi.json index a3390ea698..d05a03014d 100644 --- a/open-api/openapi.json +++ b/open-api/openapi.json @@ -2,7 +2,7 @@ "openapi" : "3.0.1", "info" : { "title" : "Aries Cloud Agent", - "version" : "v1.0.1rc0" + "version" : "v1.0.1rc1" }, "servers" : [ { "url" : "/" @@ -7017,6 +7017,64 @@ "tags" : [ "vc-api" ] } }, + "/vc/di/add-proof" : { + "post" : { + "requestBody" : { + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/AddProof" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AddProofResponse" + } + } + }, + "description" : "" + } + }, + "summary" : "Add a DataIntegrityProof to a document.", + "tags" : [ "vc" ], + "x-codegen-request-body-name" : "body" + } + }, + "/vc/di/verify" : { + "post" : { + "requestBody" : { + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/VerifyDiRequest" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/VerifyDiResponse" + } + } + }, + "description" : "" + } + }, + "summary" : "Verify a document secured with a data integrity proof.", + "tags" : [ "vc" ], + "x-codegen-request-body-name" : "body" + } + }, "/vc/presentations/prove" : { "post" : { "requestBody" : { @@ -7561,6 +7619,44 @@ "ActionMenuModulesResult" : { "type" : "object" }, + "AddProof" : { + "properties" : { + "document" : { + "example" : { + "hello" : "world" + }, + "properties" : { }, + "type" : "object" + }, + "options" : { + "allOf" : [ { + "$ref" : "#/components/schemas/DataIntegrityProofOptions" + } ], + "example" : { + "cryptosuite" : "eddsa-jcs-2022", + "proofPurpose" : "assertionMethod", + "type" : "DataIntegrityProof", + "verificationMethod" : "did:web:example.com#key-01" + }, + "type" : "object" + } + }, + "required" : [ "document" ], + "type" : "object" + }, + "AddProofResponse" : { + "properties" : { + "secured_document" : { + "example" : { + "hello" : "world" + }, + "properties" : { }, + "type" : "object" + } + }, + "required" : [ "secured_document" ], + "type" : "object" + }, "AdminConfig" : { "properties" : { "config" : { @@ -9224,6 +9320,12 @@ "enum" : [ "Endpoint", "Profile", "LinkedDomains" ], "example" : "Endpoint", "type" : "string" + }, + "mediation_id" : { + "description" : "Medation ID to use for endpoint information.", + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type" : "string" } }, "required" : [ "did" ], @@ -9447,6 +9549,74 @@ "required" : [ "presentation_definition" ], "type" : "object" }, + "DataIntegrityProofOptions" : { + "additionalProperties" : true, + "properties" : { + "challenge" : { + "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks.", + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "type" : "string" + }, + "created" : { + "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string", + "example" : "2010-01-01T19:23:24Z", + "type" : "string" + }, + "cryptosuite" : { + "description" : "An identifier for the cryptographic suite that can be used to verify the proof.", + "example" : "eddsa-jcs-2022", + "type" : "string" + }, + "domain" : { + "description" : "It conveys one or more security domains in which the proof is meant to be used.", + "example" : "example.com", + "type" : "string" + }, + "expires" : { + "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string", + "example" : "2010-01-01T19:23:24Z", + "type" : "string" + }, + "id" : { + "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN", + "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", + "type" : "string" + }, + "nonce" : { + "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures.", + "example" : "CF69iO3nfvqRsRBNElE8b4wO39SyJHPM7Gg1nExltW5vSfQA1lvDCR/zXX1To0/4NLo==", + "type" : "string" + }, + "previousProof" : { + "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed.", + "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", + "type" : "string" + }, + "proofPurpose" : { + "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended.", + "example" : "assertionMethod", + "type" : "string" + }, + "proofValue" : { + "description" : "The value of the proof signature.", + "example" : "zsy1AahqbzJQ63n9RtekmwzqZeVj494VppdAVJBnMYrTwft6cLJJGeTSSxCCJ6HKnRtwE7jjDh6sB2z2AAiZY9BBnCD8wUVgwqH3qchGRCuC2RugA4eQ9fUrR4Yuycac3caiaaay", + "type" : "string" + }, + "type" : { + "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL].", + "example" : "DataIntegrityProof", + "type" : "string" + }, + "verificationMethod" : { + "description" : "A verification method is the means and information needed to verify the proof. ", + "example" : "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL", + "pattern" : "\\w+:(\\/?\\/?)[^\\s]+", + "type" : "string" + } + }, + "required" : [ "cryptosuite", "proofPurpose", "type", "verificationMethod" ], + "type" : "object" + }, "Date" : { "properties" : { "expires_time" : { @@ -16435,6 +16605,36 @@ }, "type" : "object" }, + "VerifyDiRequest" : { + "properties" : { + "securedDocument" : { + "example" : { + "hello" : "world", + "proof" : [ { + "cryptosuite" : "eddsa-jcs-2022", + "proofPurpose" : "assertionMethod", + "type" : "DataIntegrityProof", + "verificationMethod" : "did:key: z6MksxraKwH8GR7NKeQ4HVZAeRKvD76kfd6G7jm8MscbDmy8# z6MksxraKwH8GR7NKeQ4HVZAeRKvD76kfd6G7jm8MscbDmy8", + "proofValue" : "zHtda8vV7kJQUPfSKiTGSQDhZfhkgtpnVziT7cdEzhu fjPjbeRmysHvizMJEox1eHR7xUGzNUj1V4yaKiLw7UA6E" + } ] + }, + "properties" : { }, + "type" : "object" + } + }, + "required" : [ "securedDocument" ], + "type" : "object" + }, + "VerifyDiResponse" : { + "properties" : { + "verified" : { + "description" : "Verified", + "example" : true, + "type" : "boolean" + } + }, + "type" : "object" + }, "VerifyPresentationRequest" : { "properties" : { "options" : { diff --git a/open-api/swagger.json b/open-api/swagger.json index 5e4ba7510d..d4b53b850a 100644 --- a/open-api/swagger.json +++ b/open-api/swagger.json @@ -1,7 +1,7 @@ { "swagger" : "2.0", "info" : { - "version" : "v1.0.1rc0", + "version" : "v1.0.1rc1", "title" : "Aries Cloud Agent" }, "tags" : [ { @@ -5764,6 +5764,52 @@ } } }, + "/vc/di/add-proof" : { + "post" : { + "tags" : [ "vc" ], + "summary" : "Add a DataIntegrityProof to a document.", + "produces" : [ "application/json" ], + "parameters" : [ { + "in" : "body", + "name" : "body", + "required" : false, + "schema" : { + "$ref" : "#/definitions/AddProof" + } + } ], + "responses" : { + "200" : { + "description" : "", + "schema" : { + "$ref" : "#/definitions/AddProofResponse" + } + } + } + } + }, + "/vc/di/verify" : { + "post" : { + "tags" : [ "vc" ], + "summary" : "Verify a document secured with a data integrity proof.", + "produces" : [ "application/json" ], + "parameters" : [ { + "in" : "body", + "name" : "body", + "required" : false, + "schema" : { + "$ref" : "#/definitions/VerifyDiRequest" + } + } ], + "responses" : { + "200" : { + "description" : "", + "schema" : { + "$ref" : "#/definitions/VerifyDiResponse" + } + } + } + } + }, "/vc/presentations/prove" : { "post" : { "tags" : [ "vc-api" ], @@ -6215,6 +6261,35 @@ "ActionMenuModulesResult" : { "type" : "object" }, + "AddProof" : { + "type" : "object", + "required" : [ "document" ], + "properties" : { + "document" : { + "type" : "object", + "example" : { + "hello" : "world" + }, + "properties" : { } + }, + "options" : { + "$ref" : "#/definitions/AddProof_options" + } + } + }, + "AddProofResponse" : { + "type" : "object", + "required" : [ "secured_document" ], + "properties" : { + "secured_document" : { + "type" : "object", + "example" : { + "hello" : "world" + }, + "properties" : { } + } + } + }, "AdminConfig" : { "type" : "object", "required" : [ "config" ], @@ -7830,6 +7905,12 @@ "example" : "Endpoint", "description" : "Endpoint type to set (default 'Endpoint'); affects only public or posted DIDs", "enum" : [ "Endpoint", "Profile", "LinkedDomains" ] + }, + "mediation_id" : { + "type" : "string", + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "description" : "Medation ID to use for endpoint information.", + "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" } } }, @@ -8047,6 +8128,74 @@ }, "additionalProperties" : true }, + "DataIntegrityProofOptions" : { + "type" : "object", + "required" : [ "cryptosuite", "proofPurpose", "type", "verificationMethod" ], + "properties" : { + "challenge" : { + "type" : "string", + "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "description" : "The value is used once for a particular domain and window of time. This value is used to mitigate replay attacks." + }, + "created" : { + "type" : "string", + "example" : "2010-01-01T19:23:24Z", + "description" : "The date and time the proof was created is OPTIONAL and, if included, MUST be specified as an [XMLSCHEMA11-2] dateTimeStamp string" + }, + "cryptosuite" : { + "type" : "string", + "example" : "eddsa-jcs-2022", + "description" : "An identifier for the cryptographic suite that can be used to verify the proof." + }, + "domain" : { + "type" : "string", + "example" : "example.com", + "description" : "It conveys one or more security domains in which the proof is meant to be used." + }, + "expires" : { + "type" : "string", + "example" : "2010-01-01T19:23:24Z", + "description" : "The expires property is OPTIONAL and, if present, specifies when the proof expires. If present, it MUST be an [XMLSCHEMA11-2] dateTimeStamp string" + }, + "id" : { + "type" : "string", + "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", + "description" : "An optional identifier for the proof, which MUST be a URL [URL], such as a UUID as a URN" + }, + "nonce" : { + "type" : "string", + "example" : "CF69iO3nfvqRsRBNElE8b4wO39SyJHPM7Gg1nExltW5vSfQA1lvDCR/zXX1To0/4NLo==", + "description" : "One use of this field is to increase privacy by decreasing linkability that is the result of deterministically generated signatures." + }, + "previousProof" : { + "type" : "string", + "example" : "urn:uuid:6a1676b8-b51f-11ed-937b-d76685a20ff5", + "description" : "Each value identifies another data integrity proof that MUST verify before the current proof is processed." + }, + "proofPurpose" : { + "type" : "string", + "example" : "assertionMethod", + "description" : "The proof purpose acts as a safeguard to prevent the proof from being misused by being applied to a purpose other than the one that was intended." + }, + "proofValue" : { + "type" : "string", + "example" : "zsy1AahqbzJQ63n9RtekmwzqZeVj494VppdAVJBnMYrTwft6cLJJGeTSSxCCJ6HKnRtwE7jjDh6sB2z2AAiZY9BBnCD8wUVgwqH3qchGRCuC2RugA4eQ9fUrR4Yuycac3caiaaay", + "description" : "The value of the proof signature." + }, + "type" : { + "type" : "string", + "example" : "DataIntegrityProof", + "description" : "The specific type of proof MUST be specified as a string that maps to a URL [URL]." + }, + "verificationMethod" : { + "type" : "string", + "example" : "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL", + "description" : "A verification method is the means and information needed to verify the proof. ", + "pattern" : "\\w+:(\\/?\\/?)[^\\s]+" + } + }, + "additionalProperties" : true + }, "Date" : { "type" : "object", "required" : [ "expires_time" ], @@ -14636,6 +14785,36 @@ } } }, + "VerifyDiRequest" : { + "type" : "object", + "required" : [ "securedDocument" ], + "properties" : { + "securedDocument" : { + "type" : "object", + "example" : { + "hello" : "world", + "proof" : [ { + "cryptosuite" : "eddsa-jcs-2022", + "proofPurpose" : "assertionMethod", + "type" : "DataIntegrityProof", + "verificationMethod" : "did:key: z6MksxraKwH8GR7NKeQ4HVZAeRKvD76kfd6G7jm8MscbDmy8# z6MksxraKwH8GR7NKeQ4HVZAeRKvD76kfd6G7jm8MscbDmy8", + "proofValue" : "zHtda8vV7kJQUPfSKiTGSQDhZfhkgtpnVziT7cdEzhu fjPjbeRmysHvizMJEox1eHR7xUGzNUj1V4yaKiLw7UA6E" + } ] + }, + "properties" : { } + } + } + }, + "VerifyDiResponse" : { + "type" : "object", + "properties" : { + "verified" : { + "type" : "boolean", + "example" : true, + "description" : "Verified" + } + } + }, "VerifyPresentationRequest" : { "type" : "object", "properties" : { @@ -14815,6 +14994,10 @@ "type" : "object", "description" : "Action menu" }, + "AddProof_options" : { + "type" : "object", + "example" : "{\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"type\":\"DataIntegrityProof\",\"verificationMethod\":\"did:web:example.com#key-01\"}" + }, "AttachDecoratorData_jws" : { "type" : "object", "description" : "Detached Java Web Signature" diff --git a/pyproject.toml b/pyproject.toml index d095647a98..74e918390c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aries_cloudagent" -version = "1.0.1rc0" +version = "1.0.1rc1" description = "Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments. " authors = ["Hyperledger Aries "] license = "Apache-2.0"