From aa569316ddcfddd3153c10680801192281453040 Mon Sep 17 00:00:00 2001 From: Char Howland Date: Fri, 5 May 2023 14:41:09 -0600 Subject: [PATCH 1/5] fix: remove status list from revocation-list endpoint Signed-off-by: Char Howland --- anoncreds_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anoncreds_test.py b/anoncreds_test.py index 2c407a8d19..7845159ded 100644 --- a/anoncreds_test.py +++ b/anoncreds_test.py @@ -65,7 +65,7 @@ async def main(): }, ) rev_status_list = await alice.post( - "/anoncreds/revocation-status-list", + "/anoncreds/revocation-list", json={ "revRegDefId": rev_reg_def["revocation_registry_definition_state"][ "revocation_registry_definition_id" From bad0784a575e37308d7bd921c35a361e7d5ff906 Mon Sep 17 00:00:00 2001 From: Char Howland Date: Fri, 5 May 2023 14:43:08 -0600 Subject: [PATCH 2/5] fix: remove url check Signed-off-by: Char Howland --- aries_cloudagent/anoncreds/default/legacy_indy/registry.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/aries_cloudagent/anoncreds/default/legacy_indy/registry.py b/aries_cloudagent/anoncreds/default/legacy_indy/registry.py index e2c730d736..e4e63c05c9 100644 --- a/aries_cloudagent/anoncreds/default/legacy_indy/registry.py +++ b/aries_cloudagent/anoncreds/default/legacy_indy/registry.py @@ -383,8 +383,6 @@ async def register_revocation_registry_definition( rev_reg_def_id = self.make_rev_reg_def_id(revocation_registry_definition) try: - self._check_url(revocation_registry_definition.value.tails_location) - # Translate anoncreds object to indy object indy_rev_reg_def = { "ver": "1.0", From 4c1f36b24b9e99e9ae17f329b27aabea3b611e0a Mon Sep 17 00:00:00 2001 From: Char Howland Date: Fri, 5 May 2023 14:43:48 -0600 Subject: [PATCH 3/5] fix: pass issuer_id into init_issuer_registry() Signed-off-by: Char Howland --- aries_cloudagent/revocation/anoncreds.py | 2 ++ aries_cloudagent/revocation/routes.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/aries_cloudagent/revocation/anoncreds.py b/aries_cloudagent/revocation/anoncreds.py index bcf4612d98..11d4169832 100644 --- a/aries_cloudagent/revocation/anoncreds.py +++ b/aries_cloudagent/revocation/anoncreds.py @@ -166,7 +166,9 @@ async def get_or_create_active_registry( session, cred_def_id, {"$neq": IssuerRevRegRecord.STATE_FULL} ) if not rev_reg_recs: + issuer_id = cred_def_id.split(":")[0] await self.init_issuer_registry( + issuer_id, cred_def_id, max_cred_num=max_cred_num, ) diff --git a/aries_cloudagent/revocation/routes.py b/aries_cloudagent/revocation/routes.py index c16b4279de..4155919638 100644 --- a/aries_cloudagent/revocation/routes.py +++ b/aries_cloudagent/revocation/routes.py @@ -568,8 +568,9 @@ async def create_rev_reg(request: web.BaseRequest): try: revoc = AnonCredsRevocation(profile) + issuer_id = credential_definition_id.split(":")[0] issuer_rev_reg_rec = await revoc.init_issuer_registry( - # TODO: pass in issuer_id + issuer_id, credential_definition_id, max_cred_num=max_cred_num, notify=False, From 44ed2c3ac1cce553b8b83b1f21f2d6ded356b7f9 Mon Sep 17 00:00:00 2001 From: Char Howland Date: Fri, 5 May 2023 14:44:27 -0600 Subject: [PATCH 4/5] fix: update MasterSecret references Signed-off-by: Char Howland --- aries_cloudagent/anoncreds/holder.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/aries_cloudagent/anoncreds/holder.py b/aries_cloudagent/anoncreds/holder.py index 9b9e59dfd2..cde0f83c56 100644 --- a/aries_cloudagent/anoncreds/holder.py +++ b/aries_cloudagent/anoncreds/holder.py @@ -12,10 +12,11 @@ Credential, CredentialRequest, CredentialRevocationState, - MasterSecret, Presentation, PresentCredentials, ) +from anoncreds.bindings import create_link_secret + from aries_askar import AskarError, AskarErrorCode from ..askar.profile import AskarProfile @@ -71,7 +72,7 @@ def profile(self): """Accessor for the profile instance.""" return self._profile - async def get_master_secret(self) -> MasterSecret: + async def get_master_secret(self) -> str: """Get or create the default master secret.""" while True: @@ -84,7 +85,7 @@ async def get_master_secret(self) -> MasterSecret: raise AnonCredsHolderError("Error fetching master secret") from err if record: try: - secret = MasterSecret.load(record.raw_value) + secret = record.raw_value except AnoncredsError as err: raise AnonCredsHolderError( "Error loading master secret" @@ -92,7 +93,7 @@ async def get_master_secret(self) -> MasterSecret: break else: try: - secret = MasterSecret.create() + secret = create_link_secret() except AnoncredsError as err: raise AnonCredsHolderError( "Error creating master secret" @@ -101,7 +102,7 @@ async def get_master_secret(self) -> MasterSecret: await session.handle.insert( CATEGORY_MASTER_SECRET, AnonCredsHolder.MASTER_SECRET_ID, - secret.to_json_buffer(), + secret, ) except AskarError as err: if err.code != AskarErrorCode.DUPLICATE: From c45170bb0f3b576c64937fddc665aa90c5d87ed5 Mon Sep 17 00:00:00 2001 From: Char Howland Date: Fri, 5 May 2023 14:44:52 -0600 Subject: [PATCH 5/5] fix: remove RevocationRegistryDelta references Signed-off-by: Char Howland --- aries_cloudagent/anoncreds/issuer.py | 30 ---------------------------- 1 file changed, 30 deletions(-) diff --git a/aries_cloudagent/anoncreds/issuer.py b/aries_cloudagent/anoncreds/issuer.py index 232bca8e94..4b6c345ef4 100644 --- a/aries_cloudagent/anoncreds/issuer.py +++ b/aries_cloudagent/anoncreds/issuer.py @@ -15,7 +15,6 @@ CredentialOffer, CredentialRevocationConfig, RevocationRegistryDefinition, - RevocationRegistryDelta, RevocationStatusList, Schema, ) @@ -1023,32 +1022,3 @@ async def revoke_credentials( curr=updated_list, failed=[str(rev_id) for rev_id in sorted(failed_crids)], ) - - async def merge_revocation_registry_deltas( - self, fro_delta: str, to_delta: str - ) -> str: - """ - Merge revocation registry deltas. - - Args: - fro_delta: original delta in JSON format - to_delta: incoming delta in JSON format - - Returns: - Merged delta in JSON format - - """ - - def update(d1, d2): - try: - delta = RevocationRegistryDelta.load(d1) - delta.update_with(d2) - return delta.to_json() - except AnoncredsError as err: - raise AnonCredsIssuerError( - "Error merging revocation registry deltas" - ) from err - - return await asyncio.get_event_loop().run_in_executor( - None, update, fro_delta, to_delta - )