Organization pages
eu-digital-identity-wallet / eudi-lib-jvm-presentation-exchange-kt Goto Github PK
View Code? Open in Web Editor NEWImplementation of DIF Presentation Exchange v2 specification in Kotlin (jvm)
License: Apache License 2.0
Implementation of DIF Presentation Exchange v2 specification in Kotlin (jvm)
License: Apache License 2.0
In order to link source code to dokka html we use the following configuration
sourceLink {
localDirectory.set(projectDir.resolve("src"))
remoteUrl.set(URL("${Meta.PROJ_BASE_URL}/tree/main/src"))
remoteLineSuffix.set("#L")
}
This, effectively, always point to the main branch, which clearly is not the case.
For instance, should we release v0.1.0
the source code urls must point under this release.
There should be a way to dynamically calculate the git ref for which which the dokka html is being produced.
Currently, project uses the Maven Publish gradle plugin, which in turn requires the use of Signing plugin.
There is an alternative plugin that seems to offer some advantages, compared to the standard plugin:
To adapt this:
gradle.properties
the meta-data of the projectmaven-publish
and sign
plugins)ci.yaml
to use the new plugin for SNAPSHOT deploymentsrelease.yaml
to use the new release deploymentPresentation Exchange contains a section about the contents of an attribute named format
which can be found either as a top-level element of presentation definition or with an input_descriptor
.
This format
is a JSON object having as attribute names claim formats coming by a controlled registry. In turn, each of these nested claim formats may point to another JSON Object which contains either an array alg
or proof_type
as defined in the relevant json schema.
Library reflects in its types the above rules, strictly. There are problems with this strictness:
OpenId4VP draft 20 uses claim formats that are not (yet) registered to the aforementioned Presentation Exchange controlled registry. In particular:
jwt_vc_json
& jwt_vp_json
in A.1.1ac_vc
& ac_vp
in A.2mso_mdoc
in A.3sd+jwt-vc
to be added for sd-jwt-vc
(PR). This doesn't only add a new value but redefines the contents of the relevant JSON to contain two arrays : sd-jwt_alg_values
& kb-jwt_alg_values
So library-wise there are two options:
format
object accepting the fact that neither all keys are registered nor the contents of their valueThe first is too restrictive, I guess. Perhaps we should go with the 2nd option.
As highlighted in eu-digital-identity-wallet/eudi-lib-jvm-siop-openid4vp-kt#217 there is a need to make the model classes to implement java.io.Serializable
JwtAlgorithm.DigSig
is defined as an enumeration. This limits the possible values that can be used and requires code changes to introduce support for new algorightms.
Given for instance no constants exist for ESB256
, ESB320
, ESB384
, and ESB512
, the following format fails to parse:
{
"format": {
"mso_mdoc": {
"alg": [
"ES256",
"ES384",
"ES512",
"EdDSA",
"ESB256",
"ESB320",
"ESB384",
"ESB512"
]
}
}
}
We must consider converting JwtAlgorithm.DigSig (or JwtAlgorithm) to a value class
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.