2013-08-06 93 views
1

有沒有辦法通過運行openssl(或任何其他)命令並解析其某些輸出來找到證書包的路徑(例如,/etc/ssl/certs/ca-certificates.crt)?有沒有其他的方式,沒有運行openssl命令?檢測OpenSSL可使用的證書包

我想在產品安裝過程中找到路徑,以便我可以提供合理的默認設置。

回答

1

是的,有:你可以解析

openssl version -a 

樣本輸出的輸出:

built on: Thu Mar 14 02:45:44 NZDT 2013 
platform: linux-elf 
options: bn(64,32) rc4(1x,char) des(ptr,risc1,16,long) blowfish(idx) 
compiler: gcc -Wl,--as-needed,-O1,--hash-style=both -DPURIFY -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM 
OPENSSLDIR: "/usr/local/Libraries/OpenSSL/x86/1.0.1c/gcc-4.7.2/ssl" 

你可以看到,最後一行顯示你所在的目錄,你可以找到你證書子目錄,這可能是你正在尋找的。

我不知道是否有任何其他方式獲得此信息(OPENSSLDIR畢竟是一個編譯標誌)。

+0

不幸的是,它似乎無處不在。我有一個帶有OpenSSL 0.9.6i的HP-UX,我也必須支持,它沒有'openssl version -a'中的行。 – wilx