天天看點

openssl架構閑談--總論

接觸openssl已經有一段時間了,我讀過很多源碼,感覺不錯的也就那麼幾個,linux核心是其中之 一,openssl也是其中之一。openssl說白了不是什麼功能性的東西,而是提供了一個支撐性的底層架構,本質上和linux核心一樣,但是和 apache有差別,apache明确的實作了一個功能,就是web伺服器,而openssl中我認為最重要的就是它提供的BIO架構和EVP架構,與其 說openssl是一個ssl的實作不如說ssl隻不過是openssl架構的一個demo,本質上openssl提供了一套抽象的IO接口,這就是 BIO,還有一套很容易使用的加密解密接口,這就是EVP,最後證明ssl這個協定使用了上述兩類接口,如果從這個意義上講的話,apache其實也是這 樣的,在建構頂層的web伺服器之前首先實作了一套apr通用架構,甚至memcahce使用的libevent也是這樣,這就是說很多的成功的開源的代 碼與其說是一種專用的程式倒不如說包含有一套通用的架構,而這個帶代碼的原始意義最後退化成了使用這個通用架構的一個執行個體,最起碼我看好的幾個開源項目都 是這樣。政策和機制分離,可擴充性十分棒,用起來十分靈活。 

 本文轉自 dog250 51CTO部落格,原文連結:http://blog.51cto.com/dog250/1273642

繼續閱讀