Certificate Signing Request (CSR) là một phần quan trọng để có được chứng chỉ SSL/TLS cho website. Vì thế bài viết này HVN Group sẽ hướng dẫn tạo CSR trên Apache Linux/Unix từ đảm bảo được sự an toàn cho website. Khám phá bên dưới ngay hôm nay.
Đôi nét về CSR
Certificate Signing Request hay CSR là một tệp có chứa các thông tin mà Cơ quan cấp chứng chỉ (CA) cần để tạo chứng chỉ SSL. Mục đích của tệp này là đưa ra một phương pháp tiêu chuẩn hóa để cung cấp thông tin cho CA.
CSR bao gồm 03 phần quan trọng, gồm:
- Public key
- Tên miền đủ điều kiện mà tổ chức kinh doanh muốn sử dụng cùng với chứng chỉ của mình
- Thông tin về tổ chức/website

Public key
Public key là khóa mã hóa – một nửa của “key pair” được sử dụng cho chứng chỉ SSL. Nó được sử dụng cho mục đích mã hóa dữ liệu được gửi đến máy chủ của bạn. Khi tạo CSR, key pair cùng lúc cũng được tạo. Public key được bao gồm trong CSR và chứng chỉ SSL mà tổ chức kinh doanh nhận được, cho phép người dùng kết nối với website của bạn để việc truyền dữ liệu an toàn.
Nửa còn lại của key pair chính là private key. Lưu ý rằng mặc dù nó được tạo cùng lúc với CSR nhưng không phải là một phần của CSR, Private key được sử dụng để giải mã dữ liệu mà public key đã mã hóa. Đúng như tên gọi, tổ chức kinh doanh sẽ giữ khóa này cho riêng mình và không gửi nó cho CA hoặc bất kỳ ai khác.
Tên miền đủ điều kiện
Tên miền đủ điều kiện hay FQDN là máy chủ nơi bạn sẽ sử dụng cho chứng chỉ của mình. FQDN phải bao gồm tên miền phụ và tên miền chính, chẳng hạn như www.domain.com hoặc mail.domain.com.
Một số chứng chỉ SSL cho phép người dùng bảo mật nhiều FQDN bằng một chứng chỉ – thường được gọi là chứng chỉ SAN hoặc chứng chỉ multi-domain. Đối với nhiều nhà cung cấp, bạn sẽ vẫn chỉ đưa một FQDN vào CSR của mình và sẽ chỉ định phần còn lại sau trong mẫu order chứng chỉ của mình.
Thông tin về tổ chức đăng ký chứng chỉ
Phần cuối cùng trong CSR là thông tin về “người đăng ký chứng chỉ” – địa chỉ email, tên doanh nghiệp đã đăng ký hợp pháp và địa chỉ. Các thông tin này sẽ được cung cấp trong quá trình tạo CSR.
Những nội dung chi tiết đó có thể được bao gồm trong chứng chỉ của người dùng nếu mua chứng chỉ OV hoặc EV – certificate xác nhận website được điều hành bởi một công ty/tổ chức đã được xác thực. Tuy nhiên, không phải tất cả các chứng chỉ đều bao gồm những thông tin này và nếu nó không áp dụng cho tổ chức của bạn, hãy để trống.
Lưu ý khi tạo CSR trên Apache Linux/Unix
Để quá trình tạo Certificate Signing Request trên Apache Linux/Unix diễn ra thuận lợi và thành công, có một số vấn đề quan trọng cần được chú ý:
- Đảm bảo OpenSSL được cài đặt: Hãy xác nhận rằng OpenSSL đã được cài đặt trên máy chủ Apache. Nếu không, bạn có thể cài đặt công cụ bằng trình quản lý package cho bản phân phối của Linux.
- Chọn độ dài bit private key phù hợp: Khi tạo private key, hãy chọn độ dài khóa thích hợp. Mặc dù 2048-bit thường được sử dụng và được coi là an toàn nhưng bạn có thể cân nhắc sử dụng độ dài khóa dài hơn (ví dụ 4096-bit) để độ bảo mật cao hơn.
- Cung cấp thông tin chính xác và nhất quán: Khi điền thông tin để tạo CSR, hãy đảm bảo rằng các chi tiết được cung cấp (chẳng hạn như tên công ty, tên miền, email,…) là hoàn toàn chính xác và nhất quán với profile chính thức của tổ chức. Những sai sót hoặc sự không nhất quán có thể dẫn đến các vấn đề trong quá trình cấp chứng chỉ.
- Sử dụng vị trí an toàn cho private key: Việc bảo mật private key được tạo là vô cùng quan trọng. Do đó, hãy đảm bảo lưu trữ file .key tạo một vị trí an toàn với quyền truy cập thích hợp để ngăn chặn truy cập trái phép.
- Xác minh CSR đã tạo: Sau khi tạo CSR, hãy xem lại nội dung của tệp csr.pem để đảm bảo thông tin chính xác. Bạn có thể sử dụng lệnh sau để kiểm tra: openssl req -in csr.pem -noout -text
- Giữ bản sao private key và CSR: Điều cần thiết là phải giữ bản sao lưu private key (.key) và CSR (csr.pem) ở một vị trí an toàn, từ đó đảm bảo tổ chức luôn có bản sao cho trường hợp bị mất hoặc cần cấp lại chứng chỉ.
- Làm theo hướng dẫn cụ thể của CA: Khi gửi CSR cho CA để cấp chứng chỉ, hãy tuân theo các hướng dẫn và quy trình cụ thể được đưa ra. Các CA khác nhau có thể có các yêu cầu và quy trình gửi CSR khác nhau.
Chi tiết cách tạo CSR trên Apache Linux/Unix
Để tạo Certificate Signing Request trên Apache Linux/Unix, bạn cần sử dụng đến công cụ OpenSSL. Dưới đây là chi tiết các bước thực hiện để bạn có thể tham khảo:
Bước 1: Tạo private key
Tạo khóa riêng bằng lệnh bên dưới và có thể bao gồm thêm “-des3” nếu muốn chọn passphrase để tăng cường thêm tính bảo mật của dịch vụ Apache. FIle .key sẽ được lưu trữ trong thư mục làm việc hiện tại.
openssl genrsa -out ssl-private.key 2048
Bước 2: Tạo CSR
Người dùng tiến hành tạo CSR bằng cách sử dụng lệnh dưới đây. File CSR được tạo có định dạng .csr sẽ được lưu trữ trong thư mục làm việc hiện tại.
openssl req -new -key ssl-private.key -out ssl-request.csr
Bước 3: Nhập chính xác các thông tin về tổ chức
Người dùng nhập các chi tiết sau vào lệnh khi được nhắc:
- Common Name: Tên miền đủ điều kiện (FQDN) mà tổ chức muốn bảo mật bằng chứng chỉ số, chẳng hạn như www.domain.com, support.domain.com, *.domain.com.
- Organization: Tên pháp lý đầy đủ của tổ chức, bao gồm cả mã nhận dạng công ty.
- Organization Unit: Bộ phận thuộc tổ chức có trách nhiệm xử lý chứng chỉ, chẳng hạn như IT hay Web Secure.
- City/Locality: Địa phương hoặc thành phố nơi tổ chức được thành lập hợp pháp và không được viết tắt, chẳng hạn nhập Ha Noi hoặc Ho Chi Minh.
- State/Province: Tiểu bang hoặc tỉnh nơi tổ chức kinh doanh được thành lập hợp pháp và lưu ý không viết tắt.
- Country: Mã quốc gia chính thức gồm hai chữ cái (tức US, VN) để cho biết nơi tổ chức kinh doanh được thành lập hợp pháp.
*Lưu ý: Bạn không bắt buộc phải nhập mật khẩu hoặc passphrase. Trường tùy chọn này dùng để áp dụng bảo mật bổ sung cho cặp khóa của bạn sau khi đã tạo CSR thành công.
Bước 4: Tạo order với CA
Người dùng xác định vị trí để mở CSR mới được tạo trong trình soạn thảo văn bản như Notepad, sau đó sao chép tất cả văn bản, bao gồm cả “—–BEGIN CERTIFICATE REQUEST—–” và “—–END CERTIFICATE REQUEST—–”.
*Lưu ý: Hãy lưu hoặc sao lưu tệp .key mới tạo vì nó sẽ cần thiết cho quá trình cài đặt chứng chỉ sau này.
Sau đó, bạn dán CSR vào biểu mẫu trên trang của CA, như DigiCert, GlobalSign,… để hoàn tất quy trình tạo. Khi tạo CSR, order của bạn sẽ bước vào quy trình xác minh với Cơ quan cấp chứng chỉ (CA), đồng thời yêu cầu tổ chức nộp đơn cần hoàn thành một số hình thức xác thực tùy thuộc vào loại chứng chỉ đã mua.
Đoạn kết
Tạo CSR là một giai đoạn cần thiết để có được chứng chỉ SSL nhằm mục đích bảo mật website. Hy vọng rằng các thông tin trên đây giúp bạn có thể tự mình tạo Certificate Signing Request trên Apache Linux/Unix một cách thuận lợi và nhanh chóng. Nếu có bất kỳ câu hỏi liên quan nào tới vấn đề CSR và chứng chỉ SSL, vui lòng kết nối trực tiếp với các chuyên gia của HVN Group – Hệ sinh thái kiến tạo doanh nghiệp 4.0 – thông qua Hotline: 024.9999.7777 để được hỗ trợ giải đáp.