Tôi có thể lấy chủ đề tên thay thế nhưLàm thế nào để lấy tên tổ chức phát hành thay thế cho giấy chứng nhận ssl bằng openssl
X509_NAME_get_text_by_NID(X509_get_subject_name(x), NID_subject_alt_name, hc->https_domain_name, 256)
Với cùng một phương pháp bằng cách thay đổi 2. tham số để NID_issuer_alt_name Tôi đang mong đợi để có được tên tổ chức phát hành tương tự;
X509_NAME_get_text_by_NID(X509_get_subject_name(x), NID_issuer_alt_name, hc->https_ca_name, 256);
Nhưng thay vào đó tôi nhận được một chuỗi rỗng. Làm thế nào tôi có thể lấy tên thay thế của tổ chức phát hành một cách chính xác?
Vui lòng kiểm tra xem chứng chỉ đã cho có tên thay thế của tổ chức phát hành hay không. Tôi nghĩ rằng đó là một phần mở rộng. – doptimusprime
Bạn không nên ** sử dụng 'X509_NAME_get_text_by_NID' vì nó bị các thủ thuật' NULL' được nhúng của Marlinspike. Từ tài liệu OpenSSL (không đề cập đến lỗ hổng bảo mật): "' X509_NAME_get_index_by_NID' hoặc 'X509_NAME_get_index_by_OBJ' nên được sử dụng, tiếp theo là' X509_NAME_get_entry' " – jww
Đồng thời xem trang wiki của OpenSSL về [Xác thực tên máy chủ] (https: //wiki.openssl. org/index.php/Hostname_validation). – jww