簡體   English   中英

將tweetNaCL-js加密庫添加到CouchDB validate_doc函數

[英]Add tweetNaCL-js crypto library to CouchDB validate_doc function

我正在嘗試使用公鑰加密( tweetnacl )驗證文檔。 我知道您可以添加commonjs模塊來驗證功能,但還不能。

{
 "_id": "_design/validate_update",
 "language": "javascript",
 "validate_doc_update": 
           "function(newDoc, oldDoc, userCtx){     
                verify=require('lib/validation').sign.detached.verify;
                if(verify(newDoc.message, new.Doc.signature, oldDoc.publicKey)){
                     return true;
                }
               }",
 "lib": {
     "validation": "exports.nacl=(function(nacl){..... })"
 }
}

當我這樣做時,我得到錯誤:

  Module require('lib/validation') raised error (new TypeError("func.apply is not a function", "/usr/local/share/couchdb/server/main.js", 1181))

我想我必須以某種方式更改tweetnacl代碼以將其解釋為commonjs模塊?

似乎將NaCl庫初始化為commonjs模塊失敗了,因為它具有匿名功能-嘗試將NaCl exports作為上下文:

"lib": {
 "validation": "(function(nacl){..... })(exports)"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM