decentralized-id.github.io/_posts/identosphere-dump/open-source-projects/tools-code.md
⧉ infominer dab855af62 mdc
2022-11-25 23:46:56 -05:00

48 KiB
Raw Blame History

published
false
  • Open API for Interoperable Traceability CCG

    resolve:dids - Grants permission to resolve DIDsissue:credentials - Grants permission issue Verifiable Credentialsverify:credentials - Grants permission verify Verifiable Credentialsread:credentials - Grants permission to get Verifiable Credentialsupdate:credentials - Grants permission to update the status of Verifiable Credentialsprove:presentations - Grants permission to prove Verifiable Presentationsverify:presentations - Grants permission verify Verifiable Presentationssubmit:presentations - Grants permission to submit Verifiable Presentations

Tools

  • Beginners Guide to JWTs

    A JWT is a structured security token format used to encode JSON data. The main reason to use JWT is to exchange JSON data in a way that can be cryptographically verified. There are two types of JWTs:

  • JSON Web Signature (JWS)
  • JSON Web Encryption (JWE) The data in a JWS is public—meaning anyone with the token can read the data—whereas a JWE is encrypted and private. To read data contained within a JWE, you need both the token and a secret key.
  • A back-end authenticating users by their wallet addressed - their Decentralized Identifiers.
  • A registration model capable of requesting users for data stored in its user-centric cloud storage, the Data Vault.
  • A front-end capable of interacting with any wallet that the user chooses, with a pre-designed user experience for registration and login.
  • Compatibility with a unified platform where the user can control their identity and information, the RIF Identity Manager.

This article shows how to create and issue verifiable credentials using MATTR and an ASP.NET Core. The ASP.NET Core application allows an admin user to create an OIDC credential issuer using the MATTR service. The credentials are displayed in an ASP.NET Core Razor Page web UI as a QR code for the users of the application.

Code: https://github.com/swiss-ssi-group/MattrGlobalAspNetCore

This article shows how use verifiable credentials stored on a digital wallet to verify a digital identity and use in an application. For this to work, a trust needs to exist between the verifiable credential issuer and the application which requires the verifiable credentials to verify. A blockchain decentralized database is used and MATTR is used as a access layer to this ledger and blockchain. The applications are implemented in ASP.NET Core.

  • Gordian QR Tool Supports Vaccine Records, 2FAs, Cryptoseeds, and More Blockchain Commons

    Some possible architectural issues arise from using QR codes for confidential data, such as the fact that youre actually transmitting the data (not a proof of the data), that the QRs tend to contain all of the data (not just a selection), and that theres no way to rescind a QR or expire it. Those issues will have to be dealt with at a foundational level as we figure out what can safely be encoded as a QR — and more importantly how to offer restricted proofs rather than complete information.

  • Build an SSI proof of concept in <30 minutes by Riley Hughes

The session began with a short introduction to SSI, an introduction to Trinsic, and an overview of how to get started. Then, everybody present starting building an SSI proof of concept, creating issuers, verifiers, and schemas to learn first-hand how it all works. A step-by-step guide on how to replicate this session can be found at the following link:

This session had the objective to present a solution to the problem of forking when developing new mobile agents. With the current starting kits available in the community it is very easy to start a path where it is almost impossible to retrofit updates to the kit back into our custom agent.

The solution consists in using a framework-first approach and ensuring that custom code can reside exclusively outside of the framework, thus ensuring updates can be executed more easily.

The following link can be used as the public url for the project:

Code

Rust, FFI, Code generation, language bindings, UDL

At Anonyome Labs we value well-written code that has good tests. This is a guide on how we go about producing useful and meaningful tests for our Android code. Testing approach: SDK or app?

In this post Im going to list all 40 of Patricks original falsehoods, but give you an example (or two) drawn from my experiences working in this space. Ready? Lets go!

  1. People have exactly one canonical full name.
  2. People have exactly one full name which they go by.

A short note to point folks at Seth Godins recent podcast about Project Debt. He covers some great topics:

  • Technical Debt Seth covers it well but missed a major cause of technical debt. That being the shortcuts that are taken to meet deadlines and requirements with the hope/fantasy that well go back and do them right later (hint: we never do).
  • Project Debt
  • Why saying NO to those simple things may be the best thing. For some hints on how to do that see Say No With Grace.

Give it a listen on Overcast (my fave) or  Apple Podcasts.

TLDR: The Me2B Alliance believes apps including the AskingPoint SDK should be safe from malicious redirects or other exploits.

You can test our API in the sandbox testnet by simply switching the toggle to test mode. To get started; create a free account, log into your dashboard and acquire your API key.

HowTo

For example, this update formats address fields to make them more readable; formats names and proper nouns where possible; makes URLs, telephone numbers and email addresses clickable; highlights images and icons for better trust and brand signaling; and creates basic rules for language localization that adjust to a users device settings.

there are many known DID methods, but most of them require you to have a digital identity wallet 🔒, where you will keep a seed (private key 🔑.

While this may sound convenient for many of us, it comes with its shortcomings as well.

Peers would still use their peer ID for libp2p routing and authentication. Alice and Bob would exchange their DID out of band and will be able to find their counterpartys peer ID via their DIDs.

Our goal is to make the process of building trust easier and more effective for creators. With that in mind, were sharing an overview of our plan to address the pain points of creators and marketplaces in the NFT space using identity tools.

The Self-Sovereign Identity System of CodeB does not only support W3C DIDs but comes also with an inbuilt OpenID Connect (OIDC) Identity Provider. OpenID Connect meets distributed Self-Sovereign Identities.

This project implements a user authentication flow leveraging an Ethereum wallet for single sign on capabilities across all of Web3.

The technologies used are DID (decentralized identifiers), Ceramic, 3id-connect, and Self.ID

The ZKP BBS+ verifiable credentials are issued and stored on a digital wallet using a Self-Issued Identity Provider (SIOP) and OpenID Connect. A compound proof presentation template is created to verify the user data in a single verify.

Code: https://github.com/swiss-ssi-group/MattrAspNetCoreCompoundProofBBS

MSFT does know how to do to JSON-LD they just pretend not to

DTDL is based on JSON-LD and is programming-language independent. DTDL isn't exclusive to Azure Digital Twins, but is also used to represent device data in other IoT services such as IoT Plug and Play.

The 3Box Labs team recently published a new standard for creating capability containers for accessing decentralized data to the Chain Agnostic Standards Alliance. Capability containers are an approach for managing advanced data security and permissions, commonly referred to as “Object Capabilities” or “OCAPs.”

This new standard is currently in development for use on Ceramic. Once deployed in a future version of the protocol, it will allow Ceramic to be fully compatible with the new Sign-in with Ethereum (SIWE) specification as well as provide advanced data flow control features for resources stored on the Ceramic network.

Indicio Thought Leadership

Introducing the SSI Kit, which offers developers and organisations an easy and fast way to use Self-Sovereign Identity (SSI).

we spoke to a range of participants who are or who have felt excluded from financial systems for different reasons and well be sharing these stories over the next few months. This research is the foundation for Women in Identity to build an Identity Code of Conduct — a set of guiding principles and a framework for inclusive ID-product development.

early experiment with Sign in With Ethereum + auth0

usernameless + passwordless auth

Support for @MetaMask, walletlink

profile enriched with ENS + NFTs through @graphprotocol

Interested? discuss https://discord.gg/rkjYHWHJ

Our goal was to put the power back into the hands of users who do not have any coding knowledge or experience, to accelerate the time to configure and launch an entire Trusted Decentralized Digital Identity peer-to-peer ecosystem

The tbDEX protocol facilitates decentralized networks of exchange between assets by providing a framework for establishing social trust, utilizing decentralized identity (DID) and verifiable credentials (VCs) to establish the provenance of identity in the real world.

JSON Web Tokens, or JWTs for short, are all over the web. They can be used to track bits of information about a user in a very compact way and can be used in APIs for authorization purposes. This post will cover what JSON Web Tokens are and how to create JWTs in Python using the most popular JWT library: PyJWT. We are also going to see how you can sign and verify JWTs in Python using asymmetric algorithms.

  1. Gold Winner Lockdrop
  2. Silver Winner Shaxware
  3. Bronze Winner SoundAuth (Trillbit

This years FIDO Developer Challenge reached a successful conclusion, with a ceremonial event during Authenticate 2021 of the ceremony is available now, and were pleased to share more detailed stories of the three finalists as well as the rest of the teams that made it to the final stage.

“why would I read your code?” To be clear, when I say I, I dont mean me, I mean you. And when I say your code I also mean you, but in the third person. So really what Im asking is, “why would you read another persons code?”

We're replacing the popular IDX runtime with a more powerful set of tools for building applications on Ceramic including DID DataStore, DataModels, and Self.ID.

As the Lead Developer, a big part of my role is to build Gravitys decentralized identity protocol and blockchain architecture on Tezos.

Sphereon has developed a Typescript/Javascript Library  that implements the functionality described in the DIF Presentation Exchange specification.

the deployment of digital identification systems needs to get smarter about understanding the political interests and risks that shape the contexts in which identification systems are used — our ID Ecosystem Mapping tool supports risk assessment arising from the deployment of digital identification systems.

In a Self Sovereign Environment supported by Hyperledger Indy / Aries agent framework, Mediator Agent is one of the essential components that acts as postman service between Issuer /Verifier Aries Agent and Mobile Agent.

Ill walk through configuring a YubiKey and highlight some of the things Ive learned along the way.

Learn how APIs can accelerate software development and delivery.

  • @bloomprotocol/vc
  • @bloomprotocol/ecdsa-secp256k1-signature-2019
  • @bloomprotocol/ecdsa-secp256k1-verification-key-2019
  • @bloomprotocol/elem-did-legacy-non-anchored
  • @bloomprotocol/waci-core
  • @bloomprotocol/waci-jose
  • @bloomprocotol/waci-kit-react
  • @bloomprotocol/presentation-exchange
  • @bloomprotocol/credential-manifest

The Indicio DemoNet joins the Indicio TestNet, which is used for developing new technology releases, and the Indicio MainNet, which hosts mission-critical products and services. With the DemoNet, Indicio now provides a full suite of networks for decentralized identity development and deployment.

This is so exciting to see what Wayne and his team are building.

At Spruce, were building a product suite to manage all aspects of the data supply chain.

  • Tezos DID Method - Specifies VC compatible DID creation and management
  • DIDKit - cross-platform toolkit for working with DIDs and VCs.
  • Credible - Spruces credential wallet.
  • Intake - onboarding tool \ secure document collection and processing.
  • @BartHanssens shares:

    proofs: https://w3c-ccg.github.io/ld-proofs, cryptosuite: https://w3c-ccg.github.io/ld-cryptosuite-registry, #GnuPG: signatures https://gpg.jsld.org/contexts

  • EPS for SSI (Self-Sovereign Identity)

    In my earlier post, I failed to refer specifically to the people working for Self-Sovereign Identity and the likes of blockchain that support the distributed/decentralised storage of secrets. [...] you might all be interested to hear that the key function of Expanded Password System is to convert images to high-entropy codes that work as very long passwords and also as the seeds of symmetric/asymmetric cryptographic keys.

  • Mental Models of JSON-LD and what a "Document Loader" really does Orie Steel

    and terms like "dereferencing" that trip up even highly experienced senior developers that show up late to the Linked-Data party and its open-world model (complete with its own security model based on different availability assumptions).

  • Trinsic donates did-key.rs to I&D WG

    DID:Key, originally specified in the W3C Credentials Community Group (CCG), is a DID “pseudo-method” that allows static, pre-existing, and/or pre-published public keys to function like traditional DIDs — they can be queried, stored, issued against, and resolved to return valid DID documents.

  • DIDKit v0.1 is Live.

    Most other options are subtly locked to a specific blockchain and its particularities, which a self-sovereign identity (SSI) novice is unlikely to notice until months into a project based on it. A few open-source libraries exist to sidestep this infrastructural lock-in, but these are more like primitives for assembling an SSI toolkit than ready-to-go, developer-friendly libraries. DIDKit, on the other hand, is ready to start processing real-world VCs with non-repudiable signatures right out the box.

  • Rust KERI implementation Jolocom

We at Jolocom strongly believe that DIDComm is a crucial infrastructure element for the broader and future-proof SSI stack, and current work on DIDComm v2 includes Jolocoms implementation of the specification with authcrypt (authenticated encrypted) and most of the low level of the protocol.

  • Aries Mobile Agent SDK for Google Flutter

    Exactly a year ago in Jan 2020, we announced ARNIMA — first ever Aries React Native Mobile Agent SDK that we made open source for the Self-Sovereign Identity ecosystem.

    [...] We are very excited to announce one more small open-source contribution from AyanWorks to the Aries community.

  • trustbloc/hub-router DIDComm mediator and router with mailbox features.

    The TrustBloc hub-router is a working implementation of the Mediator Coordination and the Pickup protocols built using Hyperledger Aries Framework - Go.

  • Announcing Pico Engine 1.0

    In addition to the work on the engine itself, one of the primary workstreams at present is to complete Bruce Conrad's excellent work to use DIDs and DIDComm as the basis for inter-pico communication, called ACA-Pico (Aries Cloud Agent - Pico). [...] This work is important because it will replace the current subscriptions method of connecting heterarchies of picos with DIDComm. [...] because DIDComm is protocological, this will support protocol-based interactions between picos, including credential exchange.

  • ACA-Pico working group

  • Picolab/aries-cloudagent-pico

  • New Tools to Support Production Deployments

  • Introduction to Trinsics APIs

  • Provider • Credentials • Wallet

  • Building and Securing a Go and Gin Web Application Okta

    Today, we are going to build a simple web application that implements a to-do list. The backend will be written in Go. It will use the Go Gin Web Framework which implements a high-performance HTTP server. The front end will use the Vue.js JavaScript framework to implement a single page application (SPA). We will secure it using Okta OAuth 2.0 authentication.

  • Become a Node Operator Indicio

    weve seen a rapid rise in demand for robust, stable, and professionally maintained networks to support decentralized identity solutions. Its not a surprise: decentralized identitys moment has arrived. Thats why weve been hard at work creating Hyperledger Indy networks upon which developers all over the world are building, testing, and launching their solutions.

  • Dillo plugin for DID URLs Charles E. Lehner

    I would like to announce dillo-did, a plugin for the Dillo web browser implementing support for DIDs. This plugin enables navigating to DID URLs in Dillo and viewing the resolved/dereferenced DID documents and resources like web pages. The implementation of the DID functionality used is from ssi/DIDKit.

  • Status.trinsic.id

    View historical uptime: Using the status page, you can see the last 90 days of uptime of all our externally-facing services. You can also inspect individual incidents and view incident reports.Be notified of incidents: By clicking the “subscribe” button in the upper-left of the screen, you can have any downtime or incidents trigger a notification to your email or Slack workspace.

  • RIFs Self Sovereign Identity Developer Library and Repos

Code

extension the semantics, of the set of claims comprising a Verifiable Credential. A shared Credential Schema allows all parties to reference data in a known way

  • The Tezos DID Method specifies how Tezos can be used for DID creation and management, compatible with the issuance, storage, and verification of Verifiable Credentials.
  • DIDKit is a cross-platform toolkit for working with W3C Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs).
  • Credible is Spruces native credential wallet for the consumption, storage, and presentation of Verifiable Credentials on Android and iOS.
  • Keylink is Spruces tool to link existing enterprise accounts to keypairs.
  • Intake is a smarter onboarding tool for businesses via secure document collection and processing. These artifacts can then be used as evidence to generate and issue credentials to the counterparty that originally uploaded them.

Overall, the creation of a new schema type via the SDK was not a straightforward process.

This is where Affinidis Schema Manager comes into play

Inspiration - for folks engaging with new code

As a frequent open source maintainer and contributor, Im often asked: where do you start? How do you approach a new project with the goal of making meaningful changes? How can you possibly understand the internals of a complex project?

At the most superficial level, we know that the expectations of board members drive decisions.  The decisions we take link to incentives, rewards and motivations and our shared values.

Our online relationships are almost all transactional. A purely transaction digital life can't feel as rich and satisfying as one based on interactional relationships. As more of our relationships are intermediated by technology, finding ways to support interactional relationships will allow us to live authentic digital lives.

This weekend I worked on making a github action that can sign and verify verifiable credentials with decentralized identifiers.

8/ Animo (@AnimoSolutions is DID/VC provider working on systems and infrastructure for SSI. They built this Aries CLI so you can play around and create invitations, schemas, and credentials.

I created a DID at http://GoDiddy.com did🔑z6MkfxFPD3vwny367HZVQoqUnKatH4RTHEitcbEdvxst3nZm#z6MkfxFPD3vwny367HZVQoqUnKatH4RTHEitcbEdvxst3nZm DIDs are important in Self Sovereign Identity. You can learn about DIDs @bluesky_commons

Building better, more human-centric solutions in smart cities starts by realising that citizens and their digital footprints are not merely aspects to monitor and evaluate. They are active participants in the cities we live and work together and need to be engaged in designing better cities and managing the data about themselves. This is not important only for respecting citizens rights, but it is crucial to building sustainable services and humane cities.

Again, the Indy DID Method is not an optional upgrade. Its a major development that delivers interoperability.

We have documented the functionality of SOyA in a W3C-conforming Specifiation and the full source code is available under the MIT License on Github. Examples and an introduction how to use SOyA is available in a dedicated Tutorial

Learn about verifiable credentials, then head to the playground to view examples, explore multiple use-cases and start using them.

we want to explain what we talk about when we talk about Open Recognition. It builds on this previous post, and aims to move from the abstract to practicalities.

Rooted in a “trust but verify” mindset, several Canadian public sector entities and Interac (Canadas interbank network) sponsored a project at the Digital Identity Laboratory of Canada (IDLab) to perform a security and cryptography code review of Hyperledger Ursa  (full report is available here).

► Dr. Ivan Gudymenko, Subject Matter Lead SSI and Confidential Computing, T-Systems MMS

►Mujtaba Idrees, Advanced Software Engineer, T-Systems MMS

Credentials as a Service Providing Self Sovereign Identity as a Cloud Service Using Trusted Execution Environments

We've set up a release pipeline and had our first witnessed deployment for the ENS Community-Maintained OIDC IdP (more info here

Updates on Kepler including implementing support for CACAO-ZCAPs, improved the put function to make it easier to store objects of different types, and added support for listing objects by prefix: kepler-sdk#40 kepler#115.

first time since the launch of the Early Adopters Programme in 2021, we are ready to showcase, in real-time and with real data, the outcomes of the EBSI multi-university pilot.

Whether a beginning learner, or interested in advanced concepts like Game Development, Hardware Prototyping, or Competitive Coding, you will find tools, lessons and mentors

DID method traits are testable properties about DID methods that can help implementers tame complexity and choose the right DID method(s) for their use case.

this article describes a simple approach to revoke verifiable credentials and a decentralized and efficient way to index and query those revoked credentials using the Graph protocol.

We consider the knowledge of Self-Sovereign Identity (SSI) and rudimentary knowledge of the Ethr DID method as a requirement for understanding this article.

KBW helps people understand the badge landscape. The community is there to provide solidarity for badge champions and newbies. We do not assume prior knowledge of Open Badges or Verifiable Credentials. We recognise and celebrate those who can share their experience. Anyone interested in badges or integrating Open Recognition are welcome to join.

TL;DR: chapi.io is a site that helps developers integrate Verifiable Credential issuance, holding, and presentation into their applications. It includes a playground that can issue arbitrary VCs to digital wallets (web and native). It also includes tutorials on how Web Developers can add CHAPI integration to their websites. All you need to try it out is a web browser.

Interoperability

With this badge, they qualify to participate in Plugfest #2 which will focus on issuing and displaying LER VCs. Plugfest #2 will take place in November 2022 with plans to meet in person the day before the Internet Identity Workshop on November 14 in Mountainview, CA. If vendors are interested in Plugfest #2 and didnt participate in Plugfest #1, there is still an opportunity to do so by fulfilling the same requirements listed above including the video and earning a Plugfest #1 badge.

The new Hyperledger Aries Framework JavaScript release (0.2.0) contains some incredible steps forward. Especially in our goal to make the framework AIP 2.0 compliant. AIP 2.0 compliance will not only ensure the framework supports the latest standards and protocols, but it will also greatly increase interoperability and make it more useful outside of the Hyperledger Indy ecosystem.

OpenID Specs Up for Review

This specification defines event types and their contents based on the SSE Framework that are required to implement Risk Incident Sharing and Coordination.

Unless issues are identified during the review that the working group believes must be addressed by revising the drafts, this review period will be followed by a seven-day voting period during which OpenID Foundation members will vote on whether to approve these drafts as OpenID Final Specifications.

Summary: Building a better internet won't happen by chance or simply maximizing freedom. We have to build systems that support justice. How can we do that? Philosophy discussions are the black hole of identity. Once you get in, you can't get out. Nevertheless, I find that I'm drawn to them

Noir is a Rust-based domain specific language (DSL) for creating and verifying zero-knowledge proofs. Its the easiest way to write zk applications that are compatible with any proving system.

  • We recently added support for EIP-1271 (smart contract wallets) on our Python library (siwe-py #30.
  • There is ongoing work on supporting EIP-1271 in our Rust library as well, along with an API refactor (siwe-rs #43.
  • We're updating dependencies in our NextAuth library (siwe-next-auth-example #9, #14).
  • We're finalizing various improvements to our Sign-In with Ethereum TypeScript library toward a v2.1 release.
  • [...]
  • We're adding support for did:jwk into ssi (ssi #466.
  • We've updated DIDKit to reflect the recent ssi refactor (DIDKit #312.

Rebase

  • We're making some additional changes and finalizing our Solana wallet flow (rebase #32.