Điểm:1

nâng cấp openssl | chứng chỉ xác thực không thành công

lá cờ kr

Tôi đang làm việc trên máy CentOS7 và tôi đang cố nâng cấp phiên bản openssl 1.0.2k -> 1.1.0l của máy mình. Có vẻ như quá trình bắt tay với máy chủ của tôi (không thay đổi) không thành công sau khi nâng cấp và tôi đang cố gắng tìm ra nguyên nhân.

Chạy lệnh sau với cả hai phiên bản openssl:

openssl s_client -showcerts -kết nối máy chủ: cổng

Kết quả là không thành công với cái mới hơn (nếu tôi cung cấp xác thực -CAfile hoạt động với cả hai). Một sự khác biệt của kết quả:

1.0.2k cũ (bắt tay thành công):

Khóa tạm thời máy chủ: ECDH, P-256, 256 bit Mới, TLSv1/SSLv3, Mật mã là ECDHE-RSA-AES128-GCM-SHA256 1.1.0l mới (không bắt tay):

Khóa tạm thời máy chủ: X25519, 253 bit Mới, TLSv1.2, Mật mã là ECDHE-RSA-AES128-GCM-SHA256 Xác minh mã trả về: 20 (không thể lấy chứng chỉ của tổ chức phát hành địa phương) Tôi sẽ đánh giá cao với sự giúp đỡ để hiểu sự khác biệt và tại sao chúng lại khác nhau.

fyi, tôi đã bắt đầu một mối đe dọa tương tự ở đây: https://stackoverflow.com/questions/68763253/openssl-upgrade-fail-validating-certert?noredirect=1#comment121583146_68763253 không gặp nhiều may mắn.

Cảm ơn :)

lá cờ us
Bạn đã thực hiện quá trình nâng cấp như thế nào?
Guy Tabak avatar
lá cờ kr
Tôi đã biên dịch openssl từ mã nguồn, không thể lấy yum để cài đặt phiên bản cụ thể đó. Một điểm khác biệt chính mà tôi thấy trong quá trình thực hiện hoạt động và không hoạt động: Đường dẫn tra cứu chứng chỉ phiên bản openssl đang hoạt động là /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. Đường dẫn tra cứu chứng chỉ phiên bản openssl không thành công là /var/ssl/cert.pem. Cả hai đều có cùng SSL_CERT_DIR env là: /etc/pki/tls/certs. Vì vậy, tôi tự hỏi, tại sao phiên bản openssl mới lại xem/var/ssl?
lá cờ us
`SSL_CERT_DIR` dường như khác với đường dẫn gốc CA, bằng cách xem xét sự khác biệt trong các đường dẫn bạn hiển thị.
Guy Tabak avatar
lá cờ kr
Ý anh là gì? SSL_CERT_DIR "Chỉ định vị trí của cơ quan cấp chứng chỉ đáng tin cậy (CA) được tìm thấy ở định dạng OpenSSL. Đây là biến môi trường OpenSSL."
Điểm:1
lá cờ us

tại Centos 7, bạn cũng có thể khắc phục sự cố này bằng các lệnh sau:

#chuẩn bị biên dịch
yum cài đặt https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum groupinstall -y "Công cụ phát triển" "Thư viện phát triển"

#Xây dựng từ nguồn
cd /usr/src
# --no-check-certificate vì vấn đề đó, hệ thống của bạn sẽ không xác thực chứng chỉ letencrypt tại openssl.org cho đến khi cập nhật xong
wget --no-check-cert https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -zxf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
chế tạo
thực hiện cài đặt

yum cài đặt ca-chứng chỉ -y 
Điểm:0
lá cờ kr

Để tham khảo trong tương lai, thêm giải pháp ở đây.

Khi bắt đầu làm việc với phiên bản openssl > 1.0.2k trên máy centos7, dường như có sự thay đổi hành vi trong đường dẫn giải quyết gốc.

Openssl đi qua danh sách các vị trí lưu trữ chứng chỉ được xác định trước, tuy nhiên, khi gặp tệp cert.pem trong /val/ssl, nó sẽ kiểm tra và sẽ thất bại nếu không thể xác thực điều khiển từ xa của bạn.

Chứng chỉ "tốt" của tôi nằm trong /etc/ssl và vì đó là máy của khách hàng nên tôi không thể yêu cầu anh ấy xóa tệp /var/ssl.

Giải pháp của tôi là lập trình chọn đúng cert.pem trong trường hợp openssl bị lỗi (không thay đổi phiên bản openssl của máy, điều này bị cấm).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.