Première rédaction de cet article le 20 mai 2015
Le format JSON a largement remplacé XML dans les applications Web et sert aujourd'hui de base à plein d'applications. Il était donc logique qu'on cherche à la sécuriser par la cryptographie et c'est le rôle du groupe de travail JOSE (JavaScript Object Signing and Encryption) de l'IETF qui vient de publier une série de normes sur la signature et le chiffrement de textes JSON.
Un premier RFC avait déjà débroussaillé le terrain en expliquant les scénarios d'usage et le cahier des charges, c'était le RFC 7165. Les nouveaux RFC, eux, définissent les normes techniques. Ce sont :
Si vous voulez une très bonne explication de JOSE, avec plein d'explications simples, il y a l'article de Jan Rusnacko. Un exposé au contraire très critique de JOSE a été fait par Fraser Tweedale.
Si vous voulez plutôt pratiquer, il existe de nombreuses mises en œuvre de JOSE :
jose
(https://pypi.python.org/pypi/jose/
et https://github.com/Demonware/jose
). « This library implements JWS and JWEs along with a subset of the
encryption / authentication algorithms recommended by the JOSE
framework. » Sa documentation
contient de nombreux exemples.https://docs.jboss.org/resteasy/docs/3.0.6.Final/userguide/html/ch40.html
). Toujours
en Java, il y a le code de Connect2id (http://connect2id.com/products/nimbus-jose-jwt
) et celui de 4j (https://bitbucket.org/b_c/jose4j/wiki/Home
).https://www.nuget.org/packages/jose-jwt/
).https://openid.net/developers/libraries/#jwt
Merci à Virginie Galindo pour sa relecture.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)