Openssl
在 openssl 輸出中驗證 return:1 是什麼意思
我不明白 openssl 輸出。執行openssl如下:
#openssl s_client -connect google.com:443 -CAfile cacert.pem < /dev/null
最終一切都很好,最終實體的證書被驗證OK:
Verify return code: 0 (ok)
但是
return:1
對於下面的中間體,在輸出開頭的驗證呢?這是什麼意思或意義何在?depth=3 C = US, O = Equifax, OU = Equifax 安全證書頒發機構驗證返回:1 depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA 驗證返回:1 depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2 驗證返回:1 depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = google.com 驗證返回:1 --- 證書鏈 0 秒:/C=US/ST=加利福尼亞/L=山景/O=Google Inc/CN=google.com i:/C=US/O=Google Inc/CN=Google Internet Authority G2 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2 i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA i:/C=US/O=Equifax/OU=Equifax 安全證書頒發機構 ---
驗證回調函式(用於對特定用途的證書適用性進行最終驗證)由 SSL 傳遞一個稱為欄位的欄位,該
preverify_okay
欄位指示證書鍊是否通過了適用於所有情況的基本檢查。A1
表示這些檢查通過。int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)
verify_callback 函式用於控制設置 SSL_VERIFY_PEER 標誌時的行為。它必須由應用程序提供並接收兩個參數:preverify_ok 指示是否通過了相關證書的驗證(preverify_ok=1)或未通過(preverify_ok=0)。
這就是所
verify return:1
顯示的。如果您想了解更多詳細資訊,可以查看程式碼:
int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx) { [ snip ] BIO_printf(bio_err,"verify return:%d\n",ok); return(ok); }