2012-07-29 38 views
7

thể trùng lặp:
How are SSL certificate server names resolved/Can I add alternative names using keytool?Địa chỉ IP làm tên máy chủ (CN) khi tạo chứng chỉ? (HTTPS hostname sai: nên <ipAddress>)

Tôi tạo ra một giấy chứng nhận và thiết lập các CN đến địa chỉ IP của máy chủ của tôi mà là ở xxx.xxx định dạng .xxx.xxx. Nhưng khi tôi cố gắng chạy mã của tôi trong Java, tôi nhận được một thông báo lỗi HTTPS hostname wrong: should be <xxx.xxx.xxx.xx>.

Điều gì có thể sai? Tôi chắc chắn rằng tôi đang kết nối với địa chỉ IP chính xác. Tuy nhiên, tôi đã không chỉ định cổng của máy chủ trên chứng chỉ. Cổng có cần thiết khi cung cấp giá trị cho CN không? Nhưng tôi đang sử dụng cổng mặc định cho https là 8443. Ngoài ra, tôi đã cố gắng thay đổi CN của tôi từ địa chỉ IP của máy chủ của tôi thành "localhost". Nó hoạt động sau đó. Tôi nghĩ nếu phần CN không chấp nhận một địa chỉ IP là giá trị?

Bạn có thể giải thích cách CN hoạt động và giá trị yêu cầu cho CN đó không?

Cảm ơn!

+1

Đối với các downvoters: tra cứu tên * là * theo định nghĩa thời gian chạy cụ thể - trong trường hợp này cho thời gian chạy Java - và do đó là chủ đề. chủ đề có lẽ không phải là một lý do chính đáng. –

Trả lời

22

Danh tính bạn cần đưa vào chứng chỉ cần phải là danh tính bạn đang tìm kiếm thông qua URL. Ví dụ: nếu bạn đang sử dụng https://www.example.net, chứng chỉ của bạn cần phải hợp lệ cho www.example.net; nếu bạn đang sử dụng https://10.0.0.1/, chứng chỉ của bạn cần phải hợp lệ cho 10.0.0.1.

Tên thường gặp RDN trong chủ đề DN của chứng chỉ thường chỉ được sử dụng khi (a) không có mục nhập DNS thay thế chủ đề và (b) tìm kiếm tên máy chủ chứ không phải địa chỉ IP. Đây là quy định tại RFC 2818 Section 3.1:

Nếu một phần mở rộng SubjectAltName loại dNSName hiện diện, mà phải được sử dụng như danh tánh. Nếu không, (cụ thể nhất) Common Trường tên trong trường Chủ đề của chứng chỉ PHẢI được sử dụng. Mặc dù việc sử dụng Tên thông thường là thực tế hiện tại, nhưng không được sử dụng và Cơ quan cấp chứng chỉ sử dụng tên dNSName thay thế.

[...]

Trong một số trường hợp, URI được chỉ định làm địa chỉ IP thay vì tên máy chủ. Trong trường hợp này, đối tượng iPAddress phải có mặt trong chứng chỉ và phải khớp chính xác với IP trong URI.

Nói chung, bạn không nên sử dụng địa chỉ IP trong chứng chỉ (xem các vấn đề được đề cập trong RFC 6125). , mà bạn có thể tạo ra như được mô tả trong this answer

+0

Hmm, SSL của tôi đang bị gỉ, hãy bỏ phiếu cho bạn thay vào đó :) –

Các vấn đề liên quan