「Open Badge Wallet」
一応、発行者が「デジタル庁」になっていますが、ドメインがデジタル庁ではありませんし、デジタル庁からのリンクもありません。これでは何の保証もないため、実感が湧きません。デジタル署名が入っていることを期待して、JSONダウンロードを辿ってみましたが、残念ながらありませんでした。
Open Badges v2.0の仕様書には、HostedBadgeとSignedBadgeの記述があり、デジタル署名にも対応していたので、Ed25519によるJWSを試作。いただいたデジタルバッジにデジタル署名したものを作成してみました。
「デジタル署名したバッジ」
デジタル署名前のバッジ「unsignedbadge.json」から公開鍵・秘密鍵を使って生成するプログラム「makebadge.js」をつくりました。
公開鍵・秘密鍵のキーペアは、opensslを使って生成できます。
openssl genpkey -algorithm ed25519 --out prikey.pem openssl pkey -in prikey.pem -pubout > pubkey.pem
「JWS verifier」
JWSのデジタル署名を検証するアプリができました。デジタル庁の公開鍵によって署名されたデジタルバッジがもらえないか相談してみます!