Pull to refresh

NW.js (Node-Webkit) + Рутокен = RutokenJS (Начало)

Website development *Cryptography *JavaScript *C++ *Node.JS *
Решил создать модуль (C/C++ Addons) для NW.js для работы с Рутокенами и поделиться с сообществом кодом, а так же пригласить вас поучаствовать в этом Open source проекте.

Суть идеи в том, чтобы можно было использовать все возможности Рутокена в NW приложении с помощью чистого и понятного JavaScript, а также этот модуль может быть использован в Node.JS или io.js.

API RutokenJS
  • CKR initialize()
  • bool isInitialize()
  • CKR finalize()
  • object countSlot()
  • object getLibInfo()
  • object getSlotInfo(int slot)
  • object getTokenInfo(int slot)
  • object getMechanismList(int slot)
  • object getObjectList()
  • CKR login(int slot, string pin)
  • CKR loguot()
  • object random(int size)
  • CKR initToken(int slot)
  • CKR openSession()
  • CKR closeSession()
  • CKR closeAllSessions()
  • object getSessionInfo()
  • CKR getOperationState()
  • CKR setOperationState()


Пример использования:

var rutoken = require('./rutoken/rutoken');

var cntSlot = rutoken.countSlot();
console.log('cntSlot: ', cntSlot);

if(cntSlot > 0) {
    for(var i=0; i <= cntSlot-1; i++) {
        rutoken.getSlotInfo(i, function(data) {
            console.log('Slot info #' + i + "\n", data);
        });
        rutoken.getTokenInfo(i, function(data) {
            console.log('Token info #' + i + "\n", data);
        });
        rutoken.getMechanismList(i, function(data) {
            console.log('Mechanism list #' + i + "\n", data);
        });
    }
}


Проект на GitHub: https://github.com/roman-sopov/RutokenJS

Примеры Node addon: https://github.com/nodejs/node-addon-examples
Документация Node addon: https://nodejs.org/api/addons.html
Документация Рутокен SDK: http://developer.rutoken.ru/pages/viewpage.action?pageId=3178534
Tags:
Hubs:
Total votes 14: ↑11 and ↓3 +8
Views 7.6K
Comments 14
Comments Comments 14