Tôi đang cố gắng gỡ lỗi một vấn đề liên quan đến TLS. TLS được thiết lập giữa hai ứng dụng client A và server B. Cả A và B đều đã trao đổi chứng chỉ và tôi đã xác minh rằng chứng chỉ có phần mở rộng chính xác và cũng được CA gốc của chúng xác minh thành công. CA gốc của chứng chỉ lá được tải lên và có sẵn trong kho tin cậy của ứng dụng. Trong TLS trong Wireshark tôi thấy luồng thông báo sau:
KHÁCH HÀNG: Xin chào khách hàng
MÁY CHỦ: Xin chào máy chủ, Chứng chỉ, Yêu cầu chứng chỉ, Xin chào máy chủ Xong
KHÁCH HÀNG: Chứng chỉ, Trao đổi khóa khách hàng
KHÁCH HÀNG: Xác minh chứng chỉ, Thay đổi thông số mật mã, Tin nhắn bắt tay được mã hóa
MÁY CHỦ: Cảnh báo: Mức độ nghiêm trọng, Mô tả: Lỗi giải mã)
Nhật ký TLS cũng hiển thị:
Lỗi giao thức TLS (lý do ssl
code=loại khối không phải là 01 [106]), lib=rsa thói quen
[4], fun=RSA_padding_check_PKCS1_type_1 [112], errno=12 cho
192956|
192956|<>
V::>
Có gợi ý nào về nguyên nhân có thể gây ra lỗi giải mã phía máy chủ không? Các chứng chỉ trong quá trình trao đổi TLS đều ổn và được liên kết chính xác với chứng chỉ gốc của chúng.
Bất kỳ con trỏ nào cũng sẽ giúp ích rất nhiều!
Cảm ơn trước!
Rõ ràng là máy chủ không thể giải mã tin nhắn được mã hóa đầu tiên do khách hàng gửi cho anh ta ("hoàn thành" sau khi thay đổi đặc tả mật mã), tin nhắn này phải được mã hóa bởi bộ mật mã được chỉ định và xác minh thông báo "thay đổi đặc tả mật mã" của khách hàng.
Điều này có nghĩa là máy chủ không thực sự sở hữu khóa riêng từ khóa chung mà nó cung cấp cho máy khách thông qua chứng chỉ hoặc thứ gì đó tương tự.
Tôi là một lập trình viên xuất sắc, rất giỏi!