Xác minh trả về là gì: 1 có nghĩa là trong đầu ra openssl


10

Tôi không hiểu đầu ra openssl. Chạy openssl như sau:

#openssl s_client -connect google.com:443 -CAfile cacert.pem < /dev/null

Cuối cùng, tất cả đều tốt ở chỗ chứng nhận của thực thể cuối đã được xác minh OK: Verify return code: 0 (ok)

Nhưng những gì về w / xác minh return:1ở đầu ra cho các trung gian dưới đây? Điều đó có nghĩa là gì hoặc nó là gì?

độ sâu = 3 C = US, O = Equachus, OU = Cơ quan chứng nhận bảo mật Equachus xác minh trả lại: 1
độ sâu = 2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA xác minh trả về: 1
độ sâu = 1 C = US, O = Google Inc, CN = Google Internet Agency G2 xác minh trả lại: 1
độ sâu = 0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = google.com xác minh trả lại: 1

---
Chuỗi chứng chỉ
 0 s: / C = US / ST = California / L = Mountain View / O = Google Inc / CN = google.com
   i: / C = US / O = Google Inc / CN = Google Internet Agency G2
 1 s: / C = US / O = Google Inc / CN = Google Internet Agency G2
   i: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA
 2 s: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA
   i: / C = US / O = Equachus / OU = Cơ quan chứng nhận bảo mật Equachus
---


Câu trả lời:


13

Chức năng gọi lại xác minh (được sử dụng để thực hiện xác minh cuối cùng về khả năng áp dụng chứng chỉ cho mục đích sử dụng cụ thể) được thông qua một trường bằng SSL gọi là preverify_okaytrường cho biết liệu chuỗi chứng chỉ có vượt qua các kiểm tra cơ bản áp dụng cho mọi trường hợp hay không. A 1có nghĩa là những kiểm tra được thông qua.

int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)

Hàm verify_callback được sử dụng để kiểm soát hành vi khi cờ SSL_VERIFY_PEER được đặt. Nó phải được cung cấp bởi ứng dụng và nhận hai đối số: preverify_ok cho biết, liệu việc xác minh chứng chỉ được đề cập có được thông qua hay không (preverify_ok = 1) hay không (preverify_ok = 0).

Đây là những gì verify return:1đang hiển thị.

Bạn có thể kiểm tra mã nếu bạn muốn biết thêm chi tiết:

int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
    {
    [ snip ]
    BIO_printf(bio_err,"verify return:%d\n",ok);
    return(ok);
    }

Ngoài ra tài liệu đầy đủ sống ở đây: openssl.org/docs/manmaster/ssl/SSL_CTX_set_verify.html
jouell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.