亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL

2019-11-20 14:18:03
字體:
來源:轉載
供稿:網友

事情的起因是這樣的, 因為某些原因, 最近在寫 Nodejs 的 c++ module, 然后在js這邊調用。  網絡通信自然離不開ssl, 于是需要鏈接到Openssl的庫。

我們本來的期望是,需要用戶安裝有Openssl的運行庫, 然后我們的c++ module 動態鏈接到Openssl的so庫上來運行。

起初一切看起來還不錯,直到我們發現這個openssl的函數不能工作:

PKCS7_sign()
PKCS7_sign ( )
我們發現:

如果我們的 c++ 模塊與Openssl庫動態鏈接的話, 編譯都沒問題. 但是運行會出現: PKCS7_sign 符號無法找到的錯誤.
如果我們的 c++ 模塊與Openssl庫靜態鏈接的話, 編譯也沒問題, 但是運行時,調用這個函數的地方沒有效果, 這個函數返回值是 0. 按照文檔表示出現錯誤, 但是用 Openssl的函數 ERR_get_error 獲取錯誤碼也是0. 表示沒有錯誤碼.
在linux上是這樣, 那在Mac上呢? 用Mac試了一下, 發現Mac沒有問題. 于是,想到這可能是Nodejs的一個bug. 然后就去 Nodejs 給它報了一個bug: [https://github.com/joyent/node/issues/8026][1]

同時, google上搜索了 nodejs linking to openssl 類似的關鍵字.

找到這樣幾篇文章:

https://github.com/TooTallNate/node-gyp/wiki/Linking-to-OpenSSL

https://github.com/joyent/node/issues/3915

http://serverfault.com/questions/338092/how-can-i-build-node-js-using-static-libssl-and-crypto-libraries

https://github.com/robhawkes/node-extension/issues/1

通過搜索, 我們發現, 原來Nodejs自己也使用了Openssl 庫, 推測nodejs自己的crypto模塊也是使用Openssl lib實現的. 這點從Nodejs的源碼中就能發現, 它包含了最新的Openssl的全部源碼.

其中寫上面第一篇文章: https://github.com/TooTallNate/node-gyp/wiki/Linking-to-OpenSSL 的那個帥哥是Nodejs的開發人員.

基本結論:

Nodejs 自己使用了Openssl
在Nodejs 0.6之前, Nodejs是動態鏈接到 Openssl 庫的. 而之后的版本都是靜態鏈接的.
這時發現 Node 那邊已經回復我的bug了: https://github.com/joyent/node/issues/8026

Node 解釋的原因:

Node 自己編譯之后, 把自己沒用到的符號清除, 所以我們在運行時就找不到符號了. 于是他們把這bug 修掉了. 保留了全部符號. 這導致 Node 的體積大了 400k.

感謝Node的快速回復, 不得不佩服Node的活躍程度. 贊.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费小视频| 欧美精品久久久久| 国产精品久久久久久一区二区| 国产欧美在线播放| 亚洲深夜福利网站| 亚洲国产91精品在线观看| 亚洲成人激情视频| 国产精品18久久久久久首页狼| 亚洲视频视频在线| 欧美大成色www永久网站婷| 国产成人精品一区二区在线| 国产97在线|日韩| 自拍亚洲一区欧美另类| 国产精品亚洲第一区| 国产精品一区二区三区久久| 亚洲人成电影网站| 亚洲影视中文字幕| 亚洲国产精品人久久电影| 色婷婷综合成人av| 国产亚洲综合久久| 中文字幕欧美日韩| 91欧美激情另类亚洲| 国产丝袜精品视频| 精品动漫一区二区三区| 久久夜色精品国产| 国产精品视频午夜| 精品亚洲精品福利线在观看| 欧美电影免费在线观看| 久久男人av资源网站| 久久久久久中文| 日本国产欧美一区二区三区| 草民午夜欧美限制a级福利片| 亚洲国产精品专区久久| 亚洲缚视频在线观看| 亚洲性视频网址| 第一福利永久视频精品| 俺也去精品视频在线观看| 国产精品久久久久77777| 中文字幕久精品免费视频| 精品国产自在精品国产浪潮| 美女av一区二区| 久久这里只有精品99| 911国产网站尤物在线观看| 成人写真视频福利网| 九色成人免费视频| 国产区精品视频| 色诱女教师一区二区三区| 午夜精品久久久久久久久久久久久| 色老头一区二区三区在线观看| 亚洲欧美另类在线观看| 日韩中文在线不卡| 97av在线视频| 欧美国产极速在线| 日韩免费不卡av| 国产精品观看在线亚洲人成网| 久久亚洲私人国产精品va| 国产98色在线| 亚洲视频网站在线观看| 久久99精品视频一区97| 国产精品黄色影片导航在线观看| 亚洲午夜精品久久久久久久久久久久| 91久久国产精品91久久性色| 日韩欧美有码在线| 欧美日韩裸体免费视频| 中文字幕亚洲图片| 91精品视频观看| 国产免费成人av| 欧美亚洲视频在线看网址| 一本大道亚洲视频| 隔壁老王国产在线精品| 亚洲男人的天堂网站| 精品福利一区二区| 美女久久久久久久| 久久久精品视频成人| 中文字幕日韩欧美精品在线观看| 97热精品视频官网| 91成人天堂久久成人| 一区二区在线视频| 欧美在线性爱视频| 日本久久久久久久| 日韩视频免费大全中文字幕| 日韩免费观看网站| 97在线观看视频| 中文字幕久热精品视频在线| 久久久成人av| 国产精品久久久久久搜索| 亚洲精品97久久| 日韩在线观看精品| 国产精品亚洲片夜色在线| 欧美孕妇性xx| 最近2019年好看中文字幕视频| 日韩经典第一页| 日韩经典中文字幕在线观看| 国产精品久久久久久av福利软件| 国产日韩欧美日韩| 国产精品成人av性教育| 久久精品国产久精国产一老狼| 8x海外华人永久免费日韩内陆视频| 国产视频精品va久久久久久| 91日本在线观看| 日韩中文字在线| 国产在线视频不卡| 欧美做爰性生交视频| 国产精品香蕉在线观看| 国产精品免费久久久久久| 韩国欧美亚洲国产| 国产精品美女视频网站| 日韩中文有码在线视频| 欧美激情国产日韩精品一区18| 久久免费观看视频| 欧美激情乱人伦| 色偷偷9999www| 精品香蕉一区二区三区| 在线看国产精品| 日韩中文字幕在线精品| 日韩在线免费av| 欧美激情在线一区| 国产精品1区2区在线观看| 欧美精品在线免费播放| 国产精品久久久久av| 成人激情视频免费在线| 久久久久久久色| 97国产精品视频| 国产在线高清精品| 色青青草原桃花久久综合| 亚洲国产欧美一区| 91美女高潮出水| 欧美性猛交xxxx免费看久久久| 中文字幕无线精品亚洲乱码一区| 日韩毛片中文字幕| 欧美亚洲在线视频| 伦理中文字幕亚洲| 亚洲国内精品在线| 中文字幕日本精品| www.日韩av.com| 国产这里只有精品| 国语自产偷拍精品视频偷| 欧美亚洲日本网站| 91精品免费看| 日韩精品欧美国产精品忘忧草| 欧洲永久精品大片ww免费漫画| 国产成人+综合亚洲+天堂| 成人免费在线视频网址| 欧美电影免费观看高清完整| 国产精品中文字幕在线| 亚洲一区二区三区成人在线视频精品| 亚洲欧美国产一区二区三区| 91久久夜色精品国产网站| 亚洲综合中文字幕68页| 欧美成人午夜激情视频| 亚洲欧美成人一区二区在线电影| 国产精品福利小视频| 久久精品国产精品亚洲| 萌白酱国产一区二区| 国产精品第七影院| 亚洲天堂av在线免费| 欧美成人一区二区三区电影| 日韩av网址在线| 午夜精品蜜臀一区二区三区免费| 国产日产欧美a一级在线| 日韩精品在线免费观看视频| 亚洲国模精品一区| 亚洲女同精品视频| 欧美性精品220|