2011-04-26 32 views
14

Hai hành động dường như làm như vậy:Sự khác nhau giữa các phần mở rộng x.509 V3 Các ràng buộc cơ bản và sử dụng khóa để tạo chứng chỉ CA là gì?

  • sử dụng mở rộng hạn chế cơ bản trong một chứng chỉ X.509 để biểu thị rằng nó là một chứng chỉ CA và
  • sử dụng Key mở rộng Cách sử dụng ví dụ để biểu thị rằng khóa công khai có thể được sử dụng để đăng nhập chứng chỉ.

Sự khác nhau giữa các tiện ích mở rộng này là gì?
Chúng có phục vụ cùng một mục đích hoặc bổ sung cho nhau không?

+0

Câu hỏi của bạn có được giải quyết không? Sau đó, xin vui lòng chấp nhận câu trả lời tốt nhất. Nếu không xin vui lòng đề cập đến những gì vẫn còn thiếu ở đây. –

Trả lời

14

"Sử dụng khóa" xác định những gì có thể được thực hiện bằng khóa có trong chứng chỉ. Ví dụ về cách sử dụng là: mã hóa, chữ ký, chứng chỉ ký, ký CRL.

"Ràng buộc cơ bản" xác định xem chủ đề của chứng chỉ có phải là CA được phép cấp chứng chỉ con hay không.

Đối với một giấy chứng nhận có thể được sử dụng để ký giấy chứng nhận, các thông tin là trong một ý nghĩa nhân đôi: Những hạn chế

  • X509v3 cơ bản: CA: TRUE --- có thể đăng ký giấy chứng nhận
  • X509v3 Cách sử dụng chính: Biển báo chứng nhận khóa --- Có thể ký giấy chứng nhận

Nhưng "Hạn chế cơ bản" cũng sẽ chỉ định độ sâu tối đa của chuỗi chứng nhận hợp lệ.

Mặc dù bị trùng lặp, bạn cần chỉ định cả hai, theo RFC 3280 --- X.509. Đây là đoạn có liên quan từ các RFC (trang 29):

Bit keyCertSign được khẳng định khi đề tài khóa công khai là sử dụng để xác thực chữ ký trên giấy chứng nhận khóa công khai. Nếu các bit CertSign bit được khẳng định, sau đó bit cA trong phần mở rộng cơ bản ràng buộc (phần 4.2.1.10) PHẢI cũng được khẳng định.

+0

"thông tin theo một nghĩa nào đó bị trùng lặp" Bạn có biết nếu thực hiện xác thực, chấp nhận Ràng buộc cơ bản hoặc Sử dụng khóa để biểu thị CA khi thực hiện xác thực đường dẫn cert? – Cratylus

+0

@ user384706: Không, bạn cần cả hai. Tôi đã cập nhật câu trả lời của mình với thông tin. –

+0

Cũng có các chứng chỉ có thể được cấp bởi chứng chỉ không phải của CA: xem [RFC 3820 - không phải 3280] (http://tools.ietf.org/html/rfc3820) – Bruno

1

Cách sử dụng chính mô tả mục đích dự định của chứng chỉ.

Mở rộng Hạn chế cơ bản mô tả mức độ sâu chuỗi chứng chỉ có chứng chỉ như trên cùng có thể. Nói cách khác, phần mở rộng này được sử dụng bởi CA để hạn chế hoạt động của các CA con của chúng khi chứng chỉ phụ CA được cấp. Nếu toplevel CA nhận được một sub-CA, nó cho phép sub-CA cấp chứng chỉ người dùng cuối, nhưng không cho phép sub-CA có các sub-CA riêng của nó.

+0

@Eugene: Chúng tôi có thể có chứng chỉ có phần mở rộng Sử dụng khóa, có thể ký chứng chỉ hay không, nhưng Hạn chế cơ bản bị thiếu? Điều này giống như chứng chỉ có ràng buộc cơ bản là CA với đường dẫn chứng chỉ infinte? – Cratylus

+0

@ user384706 Từ RFC 5280, mục 4.2.1.9: "Tuân thủ CA phải bao gồm phần mở rộng này trong tất cả chứng chỉ CA có chứa khóa công khai được sử dụng để xác thực chữ ký số trên chứng chỉ và PHẢI đánh dấu phần mở rộng là quan trọng trong chứng chỉ đó." Vì vậy, có vẻ như câu trả lời cho câu hỏi của bạn là "điều này sẽ vi phạm tiêu chuẩn".Tuy nhiên, tôi đã thấy các chứng chỉ không có phần mở rộng như vậy. –

+0

@Eugene: PKIX apis của Java (đã kiểm tra bằng Java6u23) chấp nhận chứng chỉ CA chỉ với KeyUsage (không phải Ràng buộc cơ bản). Điều này có nghĩa là java vi phạm RFC? – Cratylus

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