Xác thực mục đích của chứng chỉ

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Tài liệu này giải thích cách xác thực mục đích của chứng chỉ trước khi bạn tải chứng chỉ lên kho khoá hoặc kho lưu trữ tin cậy. Quy trình này dựa vào OpenSSL để xác thực và có thể áp dụng trên mọi môi trường có hỗ trợ OpenSSL.

Chứng chỉ TLS thường được phát hành với một hoặc nhiều mục đích có thể sử dụng. Thông thường, thao tác này được thực hiện để hạn chế số lượng thao tác mà khoá công khai có trong chứng chỉ có thể được sử dụng. Mục đích của chứng chỉ có trong các phần mở rộng chứng chỉ sau:

  • Sử dụng khoá
  • Sử dụng khoá mở rộng

Sử dụng khoá

Tiện ích sử dụng khoá xác định mục đích (ví dụ: mã hoá, chữ ký hoặc ký chứng chỉ) của khoá có trong chứng chỉ. Nếu khoá công khai được dùng để xác thực thực thể, thì phần mở rộng chứng chỉ sẽ có phần sử dụng khoá là Chữ ký số.

Có nhiều tiện ích sử dụng khoá cho chứng chỉ TLS được tạo bằng quy trình của Tổ chức phát hành chứng chỉ (CA) như sau:

  • Chữ ký số
  • Không từ chối
  • Mã hoá khoá
  • Mã hoá dữ liệu
  • Thoả thuận về khoá
  • Ký chứng chỉ
  • Ký CRL
  • Chỉ mã hoá
  • Chỉ giải mã

Để biết thêm thông tin về các phần mở rộng về việc sử dụng khoá này, hãy xem nội dung RFC5280, Cách sử dụng khoá.

Sử dụng khoá mở rộng

Tiện ích này cho biết một hoặc nhiều mục đích có thể sử dụng khoá công khai được chứng nhận, ngoài hoặc thay cho các mục đích cơ bản đã nêu trong tiện ích về việc sử dụng khoá. Nói chung, tiện ích này sẽ chỉ xuất hiện trong chứng chỉ thực thể cuối.

Sau đây là một số phần mở rộng phổ biến về việc sử dụng khoá:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Khoá mở rộng có thể là quan trọng hoặc không quan trọng.

  • Nếu tiện ích là quan trọng, thì chứng chỉ này chỉ được dùng cho đúng mục đích đã nêu. Nếu chứng chỉ được dùng cho một mục đích khác, thì chứng chỉ này sẽ vi phạm chính sách của CA.
  • Nếu tiện ích không quan trọng, thì tiện ích đó cho biết mục đích dự kiến hoặc mục đích của khoá chỉ mang tính chất cung cấp thông tin và không ngụ ý rằng CA hạn chế việc sử dụng khoá cho mục đích đã nêu. Tuy nhiên, ứng dụng sử dụng chứng chỉ có thể yêu cầu phải chỉ ra một mục đích cụ thể để chứng chỉ được chấp nhận.

Nếu một chứng chỉ chứa cả trường sử dụng khoá và trường sử dụng khoá mở rộng là quan trọng, thì cả hai trường phải được xử lý độc lập và chỉ có thể sử dụng chứng chỉ cho mục đích đáp ứng cả hai giá trị sử dụng khoá. Tuy nhiên, nếu không có mục đích nào có thể đáp ứng cả hai giá trị sử dụng chính, thì không được sử dụng chứng chỉ đó cho bất kỳ mục đích nào.

Khi bạn mua chứng chỉ, hãy đảm bảo rằng chứng chỉ đó có cách sử dụng khoá thích hợp được xác định nhằm đáp ứng các yêu cầu đối với chứng chỉ ứng dụng hoặc máy chủ mà trong đó chứng chỉ bắt tay TLS sẽ không thành công.

Mục đích Cách sử dụng chính

(bắt buộc)

Sử dụng khoá mở rộng

(không bắt buộc)

Chứng chỉ thực thể máy chủ được dùng trong kho khoá của máy chủ ảo Apigee Edge
  • Chữ ký số
  • Mã hoá khoá hoặc thoả thuận về khoá
Xác thực máy chủ web TLS (Bảo mật tầng truyền tải)
Chứng chỉ thực thể ứng dụng được dùng trong cửa hàng tin cậy của máy chủ ảo Apigee Edge
  • Chữ ký số hoặc thoả thuận về chìa khoá
Xác thực ứng dụng khách Web TLS
Chứng chỉ thực thể máy chủ được dùng trong cửa hàng tin cậy của máy chủ đích Apigee Edge
  • Chữ ký số
  • Mã hoá khoá hoặc thoả thuận về khoá
Xác thực máy chủ web TLS (Bảo mật tầng truyền tải)
Chứng chỉ thực thể ứng dụng được dùng trong kho khoá của máy chủ đích Apigee Edge
  • Chữ ký số hoặc thoả thuận về chìa khoá
Xác thực ứng dụng khách Web TLS
Chứng chỉ trung gian và chứng chỉ gốc
  • Ký hiệu chứng chỉ
  • Ký hiệu danh sách thu hồi chứng chỉ (CRL)

Trước khi bắt đầu

Trước khi sử dụng các bước trong tài liệu này, hãy đảm bảo bạn hiểu rõ những chủ đề sau:

  • Nếu bạn chưa hiểu rõ về chuỗi chứng chỉ, hãy đọc bài viết Chuỗi chứng chỉ.
  • Nếu bạn chưa quen với thư viện OpenSSL, hãy đọc OpenSSL
  • Nếu bạn muốn tìm hiểu thêm về các tiện ích sử dụng khoá và việc sử dụng khoá mở rộng, hãy đọc RFC5280.
  • Nếu bạn muốn sử dụng các ví dụ về dòng lệnh trong hướng dẫn này, hãy cài đặt hoặc cập nhật lên phiên bản mới nhất của ứng dụng OpenSSL
  • Đảm bảo chứng chỉ ở định dạng PEM và nếu không, hãy chuyển đổi chứng chỉ sang định dạng PEM.

Xác thực mục đích của chứng chỉ

Phần này mô tả các bước dùng để xác thực mục đích của chứng chỉ.

  1. Đăng nhập vào máy chủ nơi OpenSSL tồn tại.
  2. Để biết mức sử dụng khoá của một chứng chỉ, hãy chạy lệnh OpenSSL sau:
    openssl x509 -noout -ext keyUsage < certificate
    

    Trong đó certificate là tên của chứng chỉ.

    Ví dụ về mã được tạo

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  3. Nếu bắt buộc phải sử dụng khoá, thì khoá đó sẽ được xác định là quan trọng như sau:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  4. Chạy lệnh sau để sử dụng khoá mở rộng cho một chứng chỉ. Nếu việc sử dụng khoá mở rộng không được xác định là quan trọng, thì đó là đề xuất chứ không phải là bắt buộc.
    openssl x509 -noout -ext extendedKeyUsage < certificate
    

    Trong đó certificate là tên của chứng chỉ.

    Ví dụ về mã được tạo

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication