2012-02-06 29 views
25

Cách tạo CSR cho nhiều tên miền.Tạo CSR cho nhiều tên miền

tôi thấy rằng tạo CSR cho tên miền duy nhất là như sau:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr 

Nhưng làm cách nào để tạo CSR đa miền

+4

Có lẽ nhiều hơn cho ServerFault: bình chọn để di chuyển. – Bruno

Trả lời

29

Đối với một chứng chỉ X.509 để hỗ trợ nhiều tên miền, nó phải sử dụng nhiều đề mục Alternative Name DNS, theo RFC 2818 (HTTP over TLS) (hoặc RFC 6125):

Nếu một phần mở rộng SubjectAltName loại dNSName hiện diện, pHẢI rằng được sử dụng làm nhận dạng. Nếu không, trường chung nhất (cụ thể) 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 là thực tiễn hiện tại, nó không được chấp nhận và thay vào đó, Cơ quan chứng nhận được khuyến khích sử dụng dNSName.

Kết hợp được thực hiện bằng các quy tắc phù hợp được chỉ định bởi [RFC2459]. Nếu có nhiều hơn một bản sắc của một loại nhất định có mặt trong giấy chứng nhận (ví dụ, nhiều hơn một tên dNSName, một trận đấu trong bất kỳ một của tập được coi là chấp nhận được.)

Như đã trình bày trong this document (trừ tôi sẽ sử dụng -des3 quá cho lệnh genrsa, để bảo vệ khóa riêng):

  • Tạo một bản sao ban đầu openssl.cnf tập tin của bạn (bản gốc có lẽ đâu đó dưới /etc trên Linux).
  • Chỉnh sửa để thêm req_extensions = v3_req trong phần [ req ].
  • Chỉnh sửa để thêm subjectAltName=DNS:www.example.com,DNS:www.other-example.com (một DNS: mục nhập cho mỗi tên máy chủ bạn yêu cầu) trong phần [ v3_req ].
  • Làm cho OpenSSL sử dụng tệp cấu hình đó. Gọi nó bằng OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...

Điều này được nói, tôi sẽ không lo lắng quá nhiều về việc đặt bất kỳ phần mở rộng nào trong CSR. Bất kỳ CA nào tốt đều nên bỏ qua bất kỳ điều gì bạn đã đặt trong CSR và chỉ đặt bất kỳ điều gì họ thực sự xác minh khi phát hành chứng chỉ thực. Họ sẽ vui vẻ thay thế bất kỳ RDN nào trong Chủ đề DN của bạn (ví dụ: Quốc gia, Tổ chức, ...) cũng như mọi tiện ích mở rộng (SAN hoặc Sử dụng Khóa). Thứ nhất, nếu họ cho phép bất kỳ phần mở rộng nào theo yêu cầu trong CSR của người nộp đơn, điều này sẽ là một nguy cơ bảo mật, vì một số ứng viên thực sự có thể nhận được bất cứ điều gì. Thứ hai, đó là cách họ kiếm thêm tiền, bằng cách tính phí cho bạn để đặt một vài bit ở đây và ở đó (ví dụ: tiện ích ký mã): họ sẽ đảm bảo rằng bạn chỉ nhận được số tiền bạn đã thanh toán trong chứng chỉ của mình. Tuy nhiên, tôi hiểu rằng bạn có thể muốn đặt tất cả các tên bạn yêu cầu trong CSR của mình, chỉ để chắc chắn.

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