いつも探し回っているので、まとめておく。
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からの変換をしてくれるサイト
便利
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の相互変換ができる