COSEとJWKのRFCやらレジストリやらライブラリのリンク集

 

いつも探し回っているので、まとめておく。

COSE関連

COSEのRFC RFC8152 - CBOR Object Signing and Encryption (COSE)

COSEとJOSE(JWK)の対応に関するRFC RFC8812 - CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms RFC 8812 - CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms 日本語訳

IANAのレジストリ
COSEのキーバリューとそれぞれの値の割当が定義されている。

[CBOR Object Signing and Encryption (COSE) IANA](https://www.iana.org/assignments/cose/cose.xhtml)

QiitaのCOSEについての記事

  • COSEとJOSE関連のRFCや対応情報などが書かれていた。
  • JOSE関連(JWS, JWE, JWK等の情報)の複数のRFCは、COSEでは1つのRFCにまとまっている
  • COSEのキー情報はJWKに記載されている

[CWT入門その2] CBOR Object Signing and Encryption (COSE) - Qiita

COSEワーキンググループによるJava実装 あんまり見ていない。

cose-wg/COSE-JAVA: JAVA implementation of the COSE specification

Webブラウザ上でCBORからの変換とCBORからの変換をしてくれるサイト
便利

CBOR playground

JWK関連

RFC

IANAのレジストリ キーバリューとそれぞれの値の意味が定義されている。 JSON Object Signing and Encryption (JOSE)

WebAuthn

  • attestationObjectはCBORでエンコードされている
  • attestationObjectのauthDataのcredential public keyにあたる領域はさらにCBORエンコードされている
  • デコードするとPublicKeyがCOSEのルールで表現されている

Node.jsライブラリ

  • panva/jose
    • joseのライブラリ: jwkをインポート、エクポートできる。PEMに変換も可能か?
  • jwk-to-pem
    • jwkからpemに変換できる。対応しているjwkが少し少ないES256と対応してほしい
  • apowers313/cose-to-jwk
    • coseからjwkに変換できる。jwk-to-pemと合わせてPEMをつくる
  • kjur/jsrsasign
    • jwkは扱うことができ、PEMと変換できる
  • parse-cosekey
    • COSE、JWK、PEMの相互変換ができる