我正在使用OpenSSL來驗證服務器的證書。由於OpenSSL在沒有任何內置根CA的情況下發貨,我們必須使用我們的軟件(我們靜態鏈接OpenSSL)自行分發根CA證書。通常,執行此操作的方法是以PEM格式分發證書文件並調用SSL_CTX_load_verify_locations。C++/OpenSSL:從緩衝區而不是文件使用根CA(SSL_CTX_load_verify_locations)
但是,此功能需要文件/目錄路徑,並直接從文件系統讀取根證書文件。我們真的希望能夠將證書硬編碼到我們的二進制文件中,而不是將其保存到文件系統中。
換句話說,我們真的很想擁有像SSL_CTX_load_verify_locations這樣的函數,它需要X509 *而不是文件路徑。
是否有這樣的事情存在?還是有一種簡單的方法可以將它們自己拼湊起來?我們似乎無法找到關於此的很多信息。
非常感謝您的任何建議!
什麼阻止您在調用SSL_CTX_load_verify_locations之前保存磁盤上的硬編碼根證書? –
沒有什麼可以阻止它:然而,我們是一個安全應用程序,並擔心惡意干擾。特別是,如果很容易找到並覆蓋我們的根證書文件,那麼您可以阻止我們的任何SSLed事務。如果需要的話,我們會走這條路線,但能夠將根證書編譯到二進制文件本身是非常好的。 – DSII
讓您的根CA硬編碼比保存在文件中更安全。 –