2015-06-26 1 views
1

Я пытаюсь вызвать 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 в качестве публичной функции. Любая идея, что будет основной причиной?

Спасибо

+0

Вы можете поделиться своим кодом. Ваш код на 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

+0

Я работаю над окнами, а в процессе обучения понимаю отображение C++ на javascript. Мне удается получить PK11_Sign. Мне нужно проверить подпись. В этом случае мне может понадобиться найти другую функцию для проверки подписи. Спасибо, Нотитарт, за быстрый ответ. –

+0

Чтобы узнать о 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

ответ

2

Это, вероятно, причина, почему PK11_Verify не указан в качестве функции в nss3.dll. Функция просто не существует как открытый API.

PK11_Verify API is not public

+0

Эй, ты не можешь поделиться своей работой, с которой я тебе помог, я надеялся ссылаться на это, как ты постучал в nss с jsctypes и использовать 'pkcs11moduledb' с ним. – Noitidart

+1

Hai Noitidart, как сослаться на него? Пожалуйста, напишите мне подробности. –

+0

@Hey Nona! Спасибо! Мне было интересно, можете ли вы загрузить в github или отправить мне по электронной почте zip. Я пришлю вам письмо :) – Noitidart