Решил создать модуль (addon) NW,js для работы с Рутокенами и поделиться с сообществом кодом, а так же пригласить вас поучаствовать в открытом проекте.
Суть идеи в том, чтобы можно было использовать все возможности Рутокена в NW приложении с помощью чистого и понятного JavaScript, а также этот модуль может быть использован в Node.JS или io.js.
На данный момент реализованы функции PKCS#11
- fnInitialize (использует: C_GetFunctionList, C_Initialize)
- fnCountSlot (использует: C_GetSlotList)
- fnGetSlotInfo (использует: C_GetSlotInfo)
- fnGetTokenInfo (использует: C_GetTokenInfo)
- fnGetMechanismList (использует: C_GetMechanismList)
var rutoken = require('./rutoken/build/Release/rutoken'); var cntSlot = rutoken.fnCountSlot(); console.log('cntSlot: ', cntSlot); if(cntSlot > 0) { for(var i=0; i <= cntSlot-1; i++) { rutoken.fnGetSlotInfo(i, function(data) { console.log('Slot info #' + i + "\n", data); }); rutoken.fnGetTokenInfo(i, function(data) { console.log('Token info #' + i + "\n", data); }); rutoken.fnGetMechanismList(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
ссылка на оригинал статьи http://habrahabr.ru/post/265575/
Добавить комментарий