Skip to content
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

Add ZK BBS+-based selectively disclosable credentials (JPT) #1355

Open
wants to merge 32 commits into
base: main
Choose a base branch
from

Conversation

UMR1352
Copy link
Contributor

@UMR1352 UMR1352 commented Apr 25, 2024

Description of change

todo

Links to any relevant issues

Closes #144
Closes #1324

Type of change

  • Bug fix (a non-breaking change which fixes an issue)
  • Enhancement (a non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Fix

How the change has been tested

Added unit and integration tests, examples for both WASM and Rust targets.

Change checklist

  • I have followed the contribution guidelines for this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

AlbertoSvg and others added 13 commits March 4, 2024 15:52
* refactor `RevocationTimeframeStatus` to other setups

* fix smaller typos
… representation (#1339)

* update zkryptium/json-proof-token deps and new BLS key representation

* minor fix
* update zkryptium/json-proof-token deps and new BLS key representation

* minor fix

* use zkryptium for crypto operations and JPT for serialization

* fix format
* Implement JwkStorageExt for StrongholdStorage

* reorganize code

* persist changes to stronghold when creating bbs+ keypair, clippy, fmt

* feature gate

* zkp wasm example

* zkp_revocation wasm example

* wasm bindings

* fix docs
@UMR1352 UMR1352 added Enhancement New feature or improvement to an existing feature Wasm Related to Wasm bindings. Becomes part of the Wasm changelog Added A new feature that requires a minor release. Part of "Added" section in changelog Rust Related to the core Rust code. Becomes part of the Rust changelog. labels Apr 25, 2024
@UMR1352 UMR1352 added this to the v1.3 milestone Apr 25, 2024
@UMR1352 UMR1352 self-assigned this Apr 25, 2024
@UMR1352 UMR1352 requested a review from a team as a code owner April 25, 2024 09:50
UMR1352 and others added 4 commits April 25, 2024 12:01
commit 30c9bf2
Author: Foorack / Max Faxälv <max@foorack.com>
Date:   Tue Apr 2 10:32:48 2024 +0200

    inherit `repository` in identity_verification (#1348)

commit 1e9c9a3
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Mar 27 15:35:29 2024 +0100

    Release wasm-v1.2.0 (#1345)

commit 84a630d
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Mar 27 15:32:19 2024 +0100

    Release v1.2.0 (#1347)

commit 1aba4b5
Author: Eike Haß <eike-hass@web.de>
Date:   Wed Mar 27 13:13:27 2024 +0100

    removed dev_dep version

commit 0352b84
Author: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
Date:   Wed Mar 27 10:44:43 2024 +0100

    Support %-encoded characters in DID method id (#1303)

commit e68538f
Author: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
Date:   Tue Mar 26 11:58:35 2024 +0100

    gRPC bindings (#1264)

commit e53561e
Author: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
Date:   Tue Mar 26 11:18:14 2024 +0100

    allow large result err variants (#1342)

commit 4a144a3
Author: Eike Haß <eike-hass@web.de>
Date:   Tue Mar 19 09:51:52 2024 +0100

    fix readme links (#1336)

commit 0af29fc
Author: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
Date:   Mon Mar 18 17:16:57 2024 +0100

    Feat/custom verification method (#1334)

    * Add support for arbitrary (custom) verification method data

    * wasm bindings

    * custom method type + wasm

    * workaround serde's issue

    * Update bindings/wasm/src/verification/wasm_method_data.rs

    Co-authored-by: Abdulrahim Al Methiab <31316147+abdulmth@users.noreply.github.com>

    * review comments

    * fmt

    * review comment

    ---------

    Co-authored-by: Abdulrahim Al Methiab <31316147+abdulmth@users.noreply.github.com>

commit edb9150
Author: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
Date:   Tue Mar 12 14:45:04 2024 +0100

    use latest release of sd-jwt-payload (#1333)

    * use latest release of sd-jwt-payload

    * make clippy happy

commit 0794379
Author: Abdulrahim Al Methiab <31316147+abdulmth@users.noreply.github.com>
Date:   Wed Mar 6 14:16:00 2024 +0100

    Wasm bindings for `BlockChainAccountId` verification method. (#1326)

commit 59d38f7
Author: Abdulrahim Al Methiab <31316147+abdulmth@users.noreply.github.com>
Date:   Wed Mar 6 10:56:23 2024 +0100

    Add constructor for VerificationMethod in TS (#1321)
Copy link

@semenov-vladyslav semenov-vladyslav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cleanup sk after use. Validate pk before signing.

identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
@UMR1352 UMR1352 requested review from semenov-vladyslav and wulfraem and removed request for semenov-vladyslav April 29, 2024 12:36
identity_stronghold/src/stronghold_jwk_storage.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage.rs Outdated Show resolved Hide resolved
identity_stronghold/src/stronghold_jwk_storage_ext.rs Outdated Show resolved Hide resolved
identity_stronghold/Cargo.toml Outdated Show resolved Hide resolved
identity_storage/src/storage/jwp_document_ext.rs Outdated Show resolved Hide resolved
@wulfraem
Copy link
Contributor

Also tests::test_jwk_storage::write_to_disk (in identity_stronghold) runs into an error on my machine:

$ cargo test tests::test_jwk_storage::write_to_disk -- --exact
    Finished test [unoptimized + debuginfo] target(s) in 0.15s
     Running unittests src/lib.rs (/Users/swo/projects/iota/identity.rs-2/target/debug/deps/identity_stronghold-2e61cbd91c5befb5)

running 1 test
test tests::test_jwk_storage::write_to_disk ... FAILED

failures:

---- tests::test_jwk_storage::write_to_disk stdout ----
thread 'tests::test_jwk_storage::write_to_disk' panicked at identity_stronghold/src/tests/test_jwk_storage.rs:97:3:
assertion failed: exists
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    tests::test_jwk_storage::write_to_disk

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 12 filtered out; finished in 0.02s

@wulfraem
Copy link
Contributor

CI errors looks like to fail due to feature "bbs-plus" not being enabled in identity_stronghold.

Works locally if I start the tests with cargo test --features "bbs-plus". ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Added A new feature that requires a minor release. Part of "Added" section in changelog Enhancement New feature or improvement to an existing feature Rust Related to the core Rust code. Becomes part of the Rust changelog. Wasm Related to Wasm bindings. Becomes part of the Wasm changelog
Projects
Development

Successfully merging this pull request may close these issues.

Create Wasm Bindings Add Selective Disclosure Support to VC
4 participants