Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Digital wallet with eIDAS 2.0 compliancy, ISO 18013-5 mdocs, IETF SD-JWT VC, OID4VC, and W3C VCs.

License

NotificationsYou must be signed in to change notification settings

procivis/one-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shows a Procivis One Wallet black logo in light color mode and a white one in dark color mode.

TheProcivis One Wallet is a digital wallet solution for decentralized digitalidentities and credentials. The Wallet enables the secure storage, management, andsharing of identity data, credentials, and attributes as needed via a multitude oftechnologies and protocols.

TheProcivis One Wallet uses theProcivis One Core for all SSI functionalityvia theOne Core React Native SDK.

TheProcivis One Core is a complete solution capable of powering every elementof the digital identity credential lifecycle. See thekey features andcomplete solutionarchitecture.

How to use the Procivis One Wallet

Getting started

Trial

The fastest way to get started with the Procivis One Wallet is to download the appfrom the iOS or Android app stores andjoin our Trial Environment.In the trial environment, you are given control of an organization on our serversolution, the Procivis One Desk, and can quickly begin issuing and verifying credentials.

Documentation

See our documentation:

Installation

App Flavors

Building

Each flavor has a separate configuration script defined inpackage.json file, namedrnuc:{flavor}.

To build the app using one of flavors, configuration script needs to be called before starting the bundler and compiling the app. For example, to build Dev Wallet flavor for iOS, run:

yarn rnuc:devyarn build-ios

or to debug same flavor:

yarn rnuc:devyarn startyarn ios

Linking packages

  1. Install yalc:yarn global add yalc
  2. Go to dep package and increase package version in package.json
  3. Run in dep package:yalc publish --push
  4. Go to one-wallet and run:yalc add my-package-name

Configurations, UI themes, and assets

There are .env files in theapp/config folder of the project for each of the app flavors. For each flavor there is a separate config file inapp/config/flavors/{CONFIG_NAME} defining the backend urls, and Aries connections. In the same folder, there is an assets configuration containing flavor-specific assets for some UI components like a splash screen, or credential cards. In addition, each flavor has a UI theme defined inapp/theme/flavors/{CONFIG_NAME} i.e. a color scheme, and palette.

Icons and splashscreens

For each flavor, there is a separate set of icons and splashscreens in Android and iOS projects.

Android

Splashscreen underandroid/app/src/main/res/values/styles.xmlSquare icon underandroid/src/main/res/minimap-{screen-size}/ic_launcher_{CONFIG_NAME}.pngRound icon underandroid/src/main/res/minimap-{screen-size}/ic_launcher_{CONFIG_NAME}_round.png

iOS

Splashscreen image is added in assets folder underSplashscreen.{CONFIG_NAME} image set, and in addition there is a separate Storyboard namedLaunchScreen.{CONFIG_NAME}.storyboard for each flavor.Icons are in asstes folder underAppIcon.{CONFIG_NAME} image set.


Detox E2E

In order to run the E2E tests, one needs to build a proper detox app build first:

See the.detoxrc.js for all possible configurations.

Android

  • build (once)
npx detox build --configuration android.emu.release
  • run tests
npx detoxtest --configuration android.emu.release

iOS

npx detox build --configuration ios.sim.release
npx detoxtest --configuration ios.sim.release

Useful command

  • Restart adb server
adb kill-serveradb start-server

SBOM

Source:

Installation:

  • Installcdxgen
npm install -g @cyclonedx/cdxgen
  • Installblint (python) for generateandroid SBOM (optional)
pip install blint
  • Prepare env
export FETCH_LICENSE=true
  • ReactNative SBOM
cdxgen --required-only -p -t js -o react-native-sbom.json
  • Android (Java) SBOM
cdxgen --required-only -p -t java -o android-sbom.json

Background

Decentralized digital identities and credentials is an approach to identity that relocatesdigital credentials from the possession and control of centralized authorities to thedigital wallet of the credentials holder. This architecture eliminates the need for theuser to "phone home" to use their credentials as well as the verifier to communicate tothe issuer via back-channels, keeping the wallet holder's interactions private between onlythose parties directly involved in each interaction. This model of digital identity isoften referred to as Self-Sovereign Identity, or SSI.

eIDAS 2.0

If you want to provide anEUDI Wallet,Procivis One provides production grade opensource components to get certified and connect your organization to the eIDAS 2.0 ecosystem.

Procivis One in the eIDAS ARF

For an EUDI Wallet, use theOne Core React Native SDK for embedding intoan existing app, or use theProcivis One Wallet with adaptations to fit yourneeds.

If you want to issue into an EUDI Wallet or offer services to an EUDI Wallet holder,use theProcivis One Core.

Interoperability and conformance

Procivis One is built usingopen standards and tested to ensureinteroperability with different software vendors and across different internationalregulatory ecosystems.

  • W3C standards
    • The W3C offers several test suites for standards conformance. Seethe latest test results forProcivis One atcanivc.com.
  • ISO/IEC 18013-5 mDL
    • Procivis One's implementation of the ISO mDL standard is compatible with theOpenWallet Foundation's verifier:Procivis One can successfully issue mDLcredentials to aProcivis One Wallet, and these credentials can successfullybe verified by the OpenWallet Foundation's verifier. See theOpenWallet Foundation libraries.
  • eIDAS 2.0; EUDI Wallet
    • The EU Digital Wallet is developingissuer andverifier testing forinteroperability in mdoc and SD-JWT formats using OID4VC protocols. We follow the ongoingdevelopment of the testing platform and regularly test against it.

We continue to look for more opportunities for interoperability testing as the standardsand regulations mature and harden.

Supported standards

Credential models

W3C VC

Securing mechanismSupported representationsSupported proof/signature types
W3C Data Integrity Proofs (embedded)JSON-LD in Compacted Document Form
W3C VC-JOSE-COSE (enveloping)

* CRYSTALS-DILITHIUM is a post-quantum resistant signature scheme, selected by NIST forPost-Quantum Cryptography Standardization.Support for the recently publishedFIPS-204 is planned for the near future.

ISO mdoc

IETF SD-JWT VC

StandardSupported representationsSupported proof/signature types
IETF SD-JWT VCSD-JWT

* CRYSTALS-DILITHIUM is a post-quantum resistant signature scheme, selected by NIST forPost-Quantum Cryptography Standardization.Support for the recently publishedFIPS-204 is planned for the near future.

Exchange and transport

  • OpenID for Verifiable Credentials
    • OID4VCI; ID-1
    • OID4VP; ID-2
      • OID4VP over BLE; optimized version of Draft 00
      • OID4VP over MQTT; proprietary adaptation of "OID4VP over BLE" via MQTT channel
  • ISO/IEC 18013
    • 18013-5: QR code engagement and offline device retrieval over BLE
    • 18013-7: Online data retrieval via OID4VP

Key storage

  • Secure Enclave (iOS) and Android Keystore (TEE or Strongbox)
  • Internal encrypted database

Revocation methods

Support

Need support or have feedback?Contact us.

License

Some rights reserved. This library is published under theApache LicenseVersion 2.0.

Shows a Procivis black logo in light color mode and a white one in dark color mode.

© Procivis AG,https://www.procivis.ch.


[8]ページ先頭

©2009-2025 Movatter.jp