Hướng dẫn tạo CSR cho Apache/Nginx trên Linux

Nguyễn Thành Luân 5 phút đọc

Để cài đặt SSL tùy theo một số website thông dụng như Apache, Nginx, IIS… bạn sẽ cần 4 file sau:

  • Key file/Public key/RSA key: dùng để tạo ra file CSR.
  • Certificate Request (CSR): chứa thông tin của domain cần xin certificate. File này được sử dụng để gửi cho tổ chức cấp phát SSL chứng thực thông tin.
  • Certificate (CRT): file này sẽ do các tổ chức cấp phát SSL kiểm tra và sau khi hoàn thành quá trình kiểm tra thông tin domain hoặc tổ chức của bạn sẽ cấp phát cho bạn.
  • Intermediate Chain (CRT): file này chứa thông tin về cấu trúc của các tổ chức cấp phát SSL link tới tên miền của bạn. File này bạn có thể download tại website của các tổ chức cấp phát SSL, tùy theo từng loại certificate bạn sẽ có những Intermediate Chain riêng.Để tạo CSR trên Apache/Nginx, sau khi kết nối SSH vào server bạn có thể thực hiện theo các bước sau đây:

1. Kiểm tra OpenSSL

Điều kiện tiên quyết chúng ta phải có OpenSSL cài đặt trên máy chủ.

OpenSSL là một công cụ miễn phí mã nguồn mở, được sử dụng từ dòng lệnh, để tạo ra của CSR, và các chức năng mã hóa khác, trong hầu hết trường hợp, OpenSSL đã được cài đặt trên hệ thống điều hành của bạn.

Sử dụng command kiểm tra :

openssl --help

– Nếu trả về kết quả như: command not found hay shell command not found OpenSSL… hoặc bạn không được phép sử dụng lệnh này. Thì chúng ta cần phải tải về OpenSSL.

– Nếu OpenSSL đã được cài đặt thì chúng ta thực hiện bước tiếp theo.

2. Tạo thư mục chứa Private key và Public key (CSR):

– Thực thi command (Nếu trên server đã tồn tại thư mục này rồi thì bạn có thể bỏ qua lệnh này):

mkdir /usr/local/ssl

– Tiếp tục với:

mkdir /usr/local/ssl/certificate

3. Tạo Private (RSA) key:

openssl genrsa –out /usr/local/ssl/certificate/private.key 2048

Ví dụ :

Image

Lưu ý: lưu trữ pass phrase cẩn thận vì mật khẩu này rất quan trọng trong quá trình tạo CSR cũng như việc sử dụng sau đó để cài đặt CRT vào máy chủ.

Mẹo nhỏ: không cần đặt mật khẩu quá phức tạp, chủ yếu là dễ nhớ…

4. Tạo Public key (CSR):

openssl req -new -sha256 -key /usr/local/ssl/certificate/private.key -out /usr/local/ssl/certificate/request.csr

Tiếp theo bạn bắt đầu nhập các thông tin của CSR:

  • Country Name: điền tên nước (chỉ 2 ký tự).
  • State or Province Name: điền tên tỉnh/thành phố.
  • Locality Name: điền tên thành phố.
  • Organization Name: điền tên tổ chức, công ty bằng tiếng Anh, giống y như trong giấy phép ĐKKD (nếu có).
  • Organization Unit name: điền tên đơn vị tổ chức.
  • Common name: điền vào tên miền chính của chứng chỉ số.

Lưu ý:

  • Đối với Common name chỉ nhập một tên miền đầy đủ điều kiện (FQDN – Fully qualified domain name), ví dụ: www.company.com, mail.company.com, wiki.matbao.net … Chúng ta không nhập https://, trường hợp đăng ký cho Wildcard thì nhập theo chuẩn *.tênmiền, ví dụ: *.company.com
  • KHÔNG nhập Email Address, Challenge password hay An optional company name khi tạo CSR.

Ví dụ minh họa từ Symantec:

Image

Sau khi thực hiện xong, lúc này trong thư mục /usr/local/ssl/certificate sẽ có hai file, một file là private.key và một file là request.csr.

5. Kiểm tra CSR

Kiểm tra lại CSR xem đã hợp lệ hay chưa bằng công cụ sau:

SSLShopper CSR Decoder

CSR Decoder

6. Gửi thông tin cho nhà đăng ký

Gửi tập tin CSR này cho Mắt Bão để đăng ký, hoặc dán vào mục CSR trong mẫu đăng ký trực tuyến.

Mẹo nhỏ: Bạn cần lưu trữ thư mục /usr/local/ssl/certificate cẩn thận để có thể cài đặt chứng thư số SSL sau khi nhận được từ CA.