Sa Pham

Interested in Cloud Computing, Programming and Security.

SubCA với EJBCA 6.5.0 - Phần 2

20 Sep 2017 »

Hi all, như bài trước mình đã đề cập tới việc xây dựng hệ thống PKI bao gồm 2 subCA và 1 rootCA. Nếu bạn nào chưa biết cài đặt EJBCA có thể theo dõi post trước của mình.

Phần này mình sẽ nói nhiều hơn về một số concept trong EJBCA, nếu ai chưa hiểu có thể vào documents bên dứoi:

Mô hình hệ thống sẽ như sau

####Lý thuyết triển khai

Mình sẽ nói qua một chút về lý thuyết cũng như các bước sẽ thực hiện để triển khai hệ thống này

  • Các CA (bao gồm rootCA và subCA) đều cài đặt EJBCA như hướng dẫn trên

  • Trên RootCA thực hiện tạo Cert Self-Sign, rootCA tự ký nó.

  • Trên SubCA thực hiện import Cert của rootCA

  • SubCA tạo subCA với issuer là rootCA bên trên, profile là SUBCA (có sẵn)

  • subCA tạo certificate request, trên rootCA tạo 2 entity tuơng ứng với 2 subCA để subCA thực hiện request Cert qua Public Website.

  • subCA import cert nhận được từ rootCA và hoàn thành quá trình cài đặt

  • Tạo ceritificate profile, entity profile cho subCA, tạo entity và request cert kiểm tra chứng thực.

######Tạo ROOTCA

Truy cập vào trang Admin của rootCA, nằm tại đường dẫn https://<hostname>:8443/ejbca/adminweb/

Xác thực bằng superadmin key của rootCA.

Chọn Ceritifcate Authorities, nhập tên CA tuơng ứng vào ô Add CA và chọn Create

Sau khi nhấn Create, ta sẽ thực hiện cấu hình các thông số như sau

Chọn tiếp Create và hoàn thành cài đặt RootCA

Lúc này ta có thể vào Public Web tại địa chỉ http://<hostname>:8080/ejbca/ và lấy Certificate của rootCA về để import vào các subCA1 và subCA2.

Mục Retrieve -> Fetch CA certificates chọn Download PEM chain

Ok. tới lúc này ta đã có certificate chain của RootCA.

#####Tạo entity cho 2 SubCA

Ta sẽ thực hiện tạo 2 entity cho 2 subCA tuơng ứng

  • CN=SAPHAM.SUBCA1 - Profile: SUBCA
  • CN=SAPHAM.SUBCA2 - Profile: SUBCA

Trở lại trang Admin, thực hiện tạo profile cho các entity này,

Mở End Entity Profiles, nhập SUBCA vào ô Add Profile và chọn Add

Chọn Profile này và Edit End Entity Profile

Cấu hình như sau và chọn Save

Tiếp tục chọn Add End Entity

Chọn Profile vừa tạo và Nhập thông tin tuơng ứng với 2 SUBCA như sau

Chọn Add để lưu các thông tin.

SubCA

Tiếp theo truy cập vào trang Admin của các subCA và import cert của rootCA.

Tại trang Certification Authorities chọn Import CA certificate

Kết quả như sau

Tiếp tục tạo SUBCA tuơng ứng

Nhập thông tin như sau

Tạo certificate request, ở bước này ta cần import CA chain của ROOTCA lần nữa và chọn Make Cerficate Request

Có thể lưu ở dạng file hoặc copy request content này.

Truy cập vào Public WEB của rootCA, chọn mục Create Certificate from CSR

Nhập thông tin như sau

Lưu ý: Result type = PEM - certificate only

Và chọn OK.

Lưu certificate file của subCA.

Trở lại trang Admin của subCA, lúc này trạng thái subCA đang như sau:

Ta cần import cert đã được rootCA ký vào subCA này, chọn Edit CA SUBCA1.

Thực hiện Bước 2, chọn cert file vừa xin từ rootCA và chọn Receive Cerificate Response

Và kết quả như sau là thành công

Kiểm tra struct của CA tại trang CA Structure and CRLs

SAPHAM.SUBCA2 sẽ thực hiện tương tự.

Lúc này ta có thể kiểm tra certificate được cấp bở subCA1 và phần certificate path sẽ như sau

Ở bài sau, mình sẽ viết về việc cấu hình LDAP để lưu giữ các thông tin của Entity và việc sử dụng certificate để kí và mã hóa dữ liệu như thế nào… ;)