Я пытаюсь вызвать PK11_Verify внутри js.Поддерживается ли функция проверки PKCS11 в NSS 3.18.1 Открытая функция
let PK11_Verify = null;
PK11_Verify = declareFunction("PK11_Verify", nss3, [ SECStatus, SECKEYPublicKey, SECItem.ptr, SECItem.ptr, ctypes.voidptr_t ]);
// ...
let rv = PK11_Verify(tokenPublicKey, signature.address(), digest.address(), null);
я получаю ошибки сообщение обратно как:
Couldn't find function PK11_Verify to declare
loadLibraries failed: Error: Couldn't find function symbol in Library
Я проверил версию NSS в веб-браузере NSS 3.18.1 Basic ECC
и он поддерживает PK11_Verify в качестве публичной функции. Любая идея, что будет основной причиной?
Спасибо
Вы можете поделиться своим кодом. Ваш код на github? Это также поможет увидеть исходный код исходного файла. Или вы используете собственные библиотеки os? Это окна? OSX? Linux/Unix? Также вам может не понадобиться js-ctypes pkcs11 доступен через xpcom: 'let secmodDB = Cc [" @ mozilla.org/security/pkcs11moduledb;1 "]' https://dxr.mozilla.org/mozilla-central/source/ browser/base/content/browser.js # 1436 – Noitidart
Я работаю над окнами, а в процессе обучения понимаю отображение C++ на javascript. Мне удается получить PK11_Sign. Мне нужно проверить подпись. В этом случае мне может понадобиться найти другую функцию для проверки подписи. Спасибо, Нотитарт, за быстрый ответ. –
Чтобы узнать о C++ из jsctypes, это отличное репо: https://github.com/ochameau/jscpptypes/blob/master/gcc-mangler.js, а также вот ссылка о COM, которую вы должны получить в vtable: https : //developer.mozilla.org/en-US/docs/Mozilla/js-ctypes/Examples/Using_COM_from_js-ctypes – Noitidart