La bibliothèque JavaScript otr a pour but d'implémenter le protocole de cryptographie Off-the-Record Messaging. C'est un protocole qui utilise de l'AES, du Diffie-Hellman et du SHA-1 offrant ainsi un chiffrement, une authentification, l'impossibilité d'intrusion, etc. Il est principalement utilisé pour les messageries instantanées.
Dans notre cas, otr peut être utilisé dans les navigateurs ou bien avec Node. Il est par exemple employé par Cryptocat.
Pour une utilisation côté client, dans le navigateur, utilisez :
Code html : | Sélectionner tout |
1 2 3 4 5 6 7 | <!-- Load dependencies --> <script src="build/dep/seedrandom.js"></script> <script src="build/dep/bigint.js"></script> <script src="build/dep/crypto.js"></script> <!-- Load otr.js or otr.min.js --> <script src="build/otr.min.js"></script> |
Pour une utilisation côté serveur, avec Node, installez-le de cette manière :
Code : | Sélectionner tout |
npm install otr
Code javascript : | Sélectionner tout |
1 2 3 4 5 | var DSA = require('otr').DSA var OTR = require('otr').OTR var myKey = new DSA() var myMessage = new OTR(myKey, callback, message, options) |
Le projet sur github.
D'après un article sur DailyJS. Cet article parle également de matches.js et de mariasql.