← all systems

credential verification · rust

OpenID4VP verifier

An OpenID4VP-compliant service that verifies ISO 18013-5 mobile driving licences with sub-15 ms p99 latency.

role
Architect and implementer, Dhiway
year
2025
status
shipped
stack
Rust · Axum · Tokio · rustls · spruceid/openid4vp

Context

A relying party that accepts a mobile driving licence (mDL) needs to request it from a wallet, check it cryptographically, and answer fast enough to sit inline in a user flow.

What I built

I architected and built a credential verification service in Rust using Axum, spruceid/openid4vp and rustls. It speaks OpenID4VP to wallets and verifies ISO 18013-5 mDL credentials.

Engineering

  • Protocol compliance. The presentation request/response flow follows OpenID4VP, so any compliant wallet can present to it.
  • Latency. Verification runs at sub-15 ms p99.
  • Transport. TLS is handled in-process with rustls, keeping the dependency surface Rust-native.