<menu id="gmukm"><object id="gmukm"></object></menu>
  • <tt id="gmukm"><blockquote id="gmukm"></blockquote></tt>
    <bdo id="gmukm"><button id="gmukm"></button></bdo>
    | |
        最近程序發現了個奇葩現象,即從文件載入的證書鏈用openssl校驗是通過的,而用curl遠程獲取的就校驗失敗,錯誤碼7。而這些內容寫入文件在下一次程序啟動時載入校驗,又是成功的。

        排查了各種內存泄露、不可見字符的可能性后。突然想起來是不是libcurl靜態鏈接了openssl跟主程序動態鏈接的打架。查看后發現libcurl未靜態鏈接openssl。

         不過這也是一個啟示。想起來既然curl也用到了openssl,那么它在最后cleanup的時候會不會把全局的openssl數據結構給釋放掉。


         嘗試了一下,果然好了。原來我在一個函數里開頭調用curl_global_init,結尾調用curl_global_cleanup。這樣的話在程序結束時就會釋放openssl的全局數據結構。導致后續調用證書校驗報錯。

         不過openssl也不夠友好,報證書簽名錯誤,讓人很難聯想到是初始化問題。


          不過aes加密部分并不受這個影響。
    by snooda | 分類: c程序設計 | 評論(1) | 引用(0) | 閱讀(4993)
    ELI
    2018/04/19 10:56
    zan
    分頁: 1/1 第一頁 1 最后頁
    發表評論
    表情
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    emotemotemotemotemot
    打開HTML
    打開UBB
    打開表情
    隱藏
    記住我
    昵稱   密碼   游客無需密碼
    網址   電郵   [注冊]
                   

     
    色琪琪av男人的天堂-琪琪see色原网色原网站-天天谢天天谢天天要-欧美成人视频 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>