青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

huyutian

他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks

       最近在分析一個軟件時需要用到加密算法,然后在網(wǎng)上搜索了一下,對比了網(wǎng)上的幾個開源的加密庫,最后選定OpenSSL。OpenSSL是用C寫的,但包含有很多面向?qū)ο蟮奶卣鳎掖a效率很高。個人覺得比起CryptPP庫來容易理解,也易于使用。CryptPP是用C++寫的,類的繼承關系太復雜,類庫代碼調(diào)試、分析較難。而且OpenSSL還可以根據(jù)要求定制編譯,比如某些不需要的加密算法可以屏蔽掉,這樣裁減出來的庫尺寸會小一些。下面說說我的OpenSSL的編譯。
OpenSSL在Windows下的編譯,如果使用默認配置其實不難。大致分三步,下載openssl源代碼和安裝Perl就不說了。
1)perl Configure VC-WIN32
2)ms\do_masm
3)執(zhí)行nmake -f ms\nt.mak生成靜態(tài)庫,或者執(zhí)行nmake -f ms\ntdll.mak生成動態(tài)庫,在nmake之前最好先到VC安裝目錄下運行一下vcvar32.bat重新設置一下編譯的路徑和環(huán)境變量。
但是如果是定制編譯就比較難了,摸索了很長時間,經(jīng)常出現(xiàn)編譯錯誤。直到無意中看了一下openssl目錄下的INSTALL.W32,很多答案才找到。
這是一個教訓啊,看來,什么東西拿到手上都應該仔細看看,而不應該拿到就想馬上上手,這樣反而可能還要多走一些彎路。很多時候盲目的在網(wǎng)上搜索問題的解決辦法,還不如老老實實研究自帶的幫助和說明,苦苦尋找的答案可能就在其中。其實開始我也不是沒有看INSTALL.W32這個文檔,只是不太仔細,只看了前面的編譯方法,沒看后面的Troubleshooting。個人認為要定制編譯OpenSSL,Troubleshooting一節(jié)很重要,就用google翻譯了一下,放在這里以免遺忘。


疑難排解
由于Win32下的編譯只是偶爾進行測試,可能并不總是編譯干凈。當您運行MS \ do_ms,如果得到一個有關函數(shù)沒有指定序號錯誤,
那么這意味著在Win32原始文件過期。你可以:
> perl util\mkdef.pl crypto ssl update
然后,ms\do_xxx不應再警告了。然而這種方法得到的序號可能不能匹配CVS樹指定的序號,所以任何對這個版本的庫的鏈接可能需要重新編譯。
如果你的錯誤是有關不能解析符號變量的(unresolved symbols),有幾種可能的原因。
如果你已禁用某些加密算法,該DLL被鏈接時發(fā)生這種情況,則有可能是DEF文件生成時沒有清除所有關閉的符號。最簡單的辦法是編輯DEF文件手動將其刪除。DEF文件是 ms\libeay32.def和ms\ ssleay32.def。
另一個原因是,你略過了上面提到的missing numbers錯誤。
如果出現(xiàn)警告,編譯將會停止。
出現(xiàn)任何警告,Win32默認的Makefile將會停止。由于VC + + 對待警告有自己的做法,并不一定與其他環(huán)境發(fā)生這種情況時相符。最好的解決方法是編輯有警告的文件并修復它。或者,也可以通過編輯Makefile中CFLAG行,刪除/WX選項,來關閉警告。

 您可能會得到編譯錯誤。同樣你要修復這些或報告他們。

 編譯連接OpenSSL庫的應用程序,如果你不使用多線程DLL運行時庫(/md選項)您的程序幾乎肯定會崩潰,因為malloc陷入混亂-在
  OpenSSL DLL靜態(tài)鏈接到一個版本,應用程序必須使用同一個版本。加CRYPTO_malloc_init()到程序調(diào)用OpenSSL庫之前,可能能夠解決這些問題 :這會告訴OpenSSL庫使用與應用程序相同的malloc(),free()和realloc()。但是OpenSSL調(diào)用的很多標準庫函數(shù)內(nèi)部用到malloc()
  (例如fopen()函數(shù)),OpenSSL不能改變這些,所以一般不能依靠CRYPTO_malloc_init()解決您的問題,您應該 堅持用多線程庫。


連接應用程序
如果您鏈接靜態(tài)OpenSSL庫[built with ms/nt.mak],那么你需要額外鏈接WSOCK32.LIB,ADVAPI32.LIB,GDI32.LIB和USER32.LIB。這些開發(fā)非交互式服務應用程序可能會關注后兩個庫的連接,因為他們僅與交互桌面相關,對服務進程不可用。該工具包的設計檢測它的目前執(zhí)行的,GUI,控制臺應用程序或服務,并采取相應的行動,即是否實際上使 圖形用戶界面調(diào)用。

 如果您鏈接使用OpenSSL.DLLs,那么希望你將連接OpenSSL BIO layer和編譯器運行時庫的小“墊片”片段包含到您的應用程序代碼。更多詳情查一查OPENSSL_Applink引用頁。

 



對OpenSSL的Win32編譯環(huán)境可以進行多種調(diào)整。默認情況下是不編譯調(diào)試符號的。編譯調(diào)試符號需要在do_*批處理文件中添加'debug' 到 mk1mf.pl行。注意mk1mf.pl需要platform是命令行的最后一個參數(shù),所以'debug'必須出現(xiàn)在此之前。

0.9.8 OpenSSL默認編譯ENGINES到libeay32.dll庫。如果在命令行對Configure 指定了“no-static-engine”選項,共享庫構(gòu)建時(ms\ntdll.mak)將編譯
engines作為單獨的DLL。

 默認Win32環(huán)境是略去任何Windows NT特征。如果你想OpenSSL允許NT特征(目前只logging BIO)按照上述操作,但調(diào)用批處理文件時用do_nt.bat 代替do_ms.bat。

 

posted on 2009-11-13 12:38 胡雨田 閱讀(12543) 評論(0)  編輯 收藏 引用 所屬分類: 網(wǎng)絡編程
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美午夜精品久久久久久久| 欧美一区视频在线| 欧美刺激性大交免费视频| 99av国产精品欲麻豆| 亚洲精品一区二区三区婷婷月| 蜜臀va亚洲va欧美va天堂 | 在线欧美视频| 在线播放中文一区| 日韩视频在线播放| av成人天堂| 欧美自拍偷拍午夜视频| 久久久久国产精品厨房| 欧美成人xxx| 夜夜嗨av一区二区三区四区 | 99这里只有精品| 亚洲社区在线观看| 久久久噜噜噜久久人人看| 蜜桃av噜噜一区| 国产欧美精品一区二区色综合 | 亚洲精品国产欧美| 这里是久久伊人| 久久久噜噜噜久噜久久| 国产欧美一区二区白浆黑人| 亚洲日本一区二区| 久久一区中文字幕| 亚洲午夜91| 国产精品高潮视频| 亚洲香蕉成视频在线观看| 美女日韩欧美| 午夜在线精品偷拍| 国产精品xxxav免费视频| 亚洲日本电影在线| 欧美在线观看天堂一区二区三区| 久久久精彩视频| 免费成人在线视频网站| 中文精品99久久国产香蕉| 亚洲免费在线播放| 日韩一级片网址| 欧美中日韩免费视频| 亚洲另类春色国产| 久久蜜桃香蕉精品一区二区三区| 欧美日韩综合网| 亚洲影音一区| 欧美一区二区三区免费视| 国产一区二区三区在线观看视频| 午夜视频在线观看一区| 亚洲欧美电影在线观看| 国内精品久久久久影院优| 麻豆精品传媒视频| 国产精品久久77777| 欧美一站二站| 欧美大尺度在线观看| 欧美一区二区三区免费视频| 欧美制服丝袜| 亚洲午夜视频| 久热精品视频在线观看| 一本色道久久综合亚洲精品小说 | 国产日韩欧美综合一区| 麻豆精品一区二区综合av| 欧美精品免费播放| 久久久综合精品| 欧美日韩一区二区三区四区五区 | 一本久久知道综合久久| 国产一区二区三区电影在线观看| 欧美成人嫩草网站| 国产欧美一区二区三区视频| 亚洲电影免费观看高清完整版在线| 欧美日韩国产精品| 亚洲精品系列| 日韩特黄影片| 欧美日韩视频在线| 亚洲黄色三级| 亚洲三级网站| 欧美日韩综合视频网址| 99视频精品在线| 亚洲综合久久久久| 国产精品人人做人人爽| 亚洲自啪免费| 久久先锋影音| 91久久久久久| 欧美另类久久久品| 亚洲视频国产视频| 欧美一区亚洲二区| 亚洲黄色在线视频| 欧美日韩国产在线播放网站| 一本一本久久a久久精品综合麻豆| 亚洲精品在线看| 国产精品扒开腿爽爽爽视频| 亚洲一二三区精品| 美女精品在线观看| 在线视频精品一| 一区二区亚洲精品| 欧美视频日韩| 久久亚洲视频| 亚洲一区二区免费视频| 女人天堂亚洲aⅴ在线观看| aⅴ色国产欧美| 国内精品免费午夜毛片| 欧美视频在线观看| 欧美91精品| 亚洲美女毛片| 亚洲国产高清在线| 国产精品一区二区在线观看不卡| 免费成人黄色片| 亚洲欧美日韩国产综合精品二区| 欧美成人午夜免费视在线看片| 亚洲综合精品| 亚洲一区美女视频在线观看免费| 激情久久久久久久久久久久久久久久| 欧美午夜一区二区福利视频| 老司机免费视频久久| 久久综合999| 米奇777超碰欧美日韩亚洲| 久久精品一区中文字幕| 午夜精品一区二区三区在线视| 亚洲日本在线观看| 亚洲精品国久久99热| 欧美激情按摩| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久亚洲二区| 久久手机免费观看| 蜜臀va亚洲va欧美va天堂| 久热精品视频在线免费观看| 久久久国产精彩视频美女艺术照福利| 亚洲视频中文字幕| 久久国产精品久久久久久电车 | 亚洲精品免费在线播放| 亚洲国产精品一区二区www| 91久久黄色| 欧美一区二区三区在线观看视频| 欧美一区91| 欧美日韩国产三区| 在线观看欧美精品| 欧美久久视频| 国产美女搞久久| 日韩午夜在线电影| 久久久久久久久一区二区| 亚洲国产免费看| 欧美一区成人| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 亚洲国产成人精品久久久国产成人一区| 在线观看日韩专区| 欧美一区激情| 一区二区三欧美| 欧美成人官网二区| 精品成人在线| 久久久精品动漫| 亚洲欧美区自拍先锋| 欧美三级精品| 亚洲午夜一区| 一区二区久久久久| 国产精品电影网站| 亚洲午夜精品在线| 亚洲综合电影| 国产视频综合在线| 久久蜜桃资源一区二区老牛 | 国产精品日韩在线观看| 99精品国产一区二区青青牛奶| 久久一区精品| 免费成人网www| 亚洲毛片av在线| 亚洲一区在线观看视频| 国产亚洲精品v| 亚洲第一精品夜夜躁人人躁| 欧美精品 日韩| 欧美在线视频一区二区| 久久久精品欧美丰满| 亚洲精美视频| 99视频精品| 亚洲第一久久影院| 亚洲国语精品自产拍在线观看| 亚洲影院色在线观看免费| 国产三级欧美三级| 亚洲国产精品一区二区第一页| 欧美另类极品videosbest最新版本| 亚洲在线免费视频| 久久夜色撩人精品| 亚洲女同性videos| 久久综合99re88久久爱| 午夜精品久久久久久久男人的天堂 | 亚洲精品一区二区在线| 亚洲私人影院在线观看| 亚洲三级影院| 久久在线视频在线| 久久久无码精品亚洲日韩按摩| 欧美伦理91| 亚洲国产综合在线| 在线看国产一区| 欧美专区在线播放| 久久久久女教师免费一区| 欧美亚日韩国产aⅴ精品中极品| 欧美成人一品| 亚洲精品系列| 欧美黄色aaaa| 亚洲三级视频| 亚洲天堂av综合网| 国产精品日本| 欧美在线短视频| 噜噜噜噜噜久久久久久91 | 国产伦精品一区二区三区在线观看|