Có rất là nhiều công cụ online có thể hỗ trợ bạn tạo file CSR và private key tương ứng. Nhưng nếu bạn thấy thích và có nhu cầu làm bằng lệnh Linux thì bài viết này mình sẽ nói về cách sử dụng câu lệnh ‘openssl‘ trên Linux để tạo CSR bằng command line.
CSR là file chứng chỉ số chứa thông tin tên miền cần được đăng ký với nhà cung cấp SSL để họ kí (sign) chứng thực nội dung chứng chỉ số tương ứng tên miền mà bạn muốn đăng ký. Từ đó bạn mới có thể hoạt động website ở phương thức HTTPS được.
Contents
1. Kiểm tra và cài đặt OpenSSL
Bạn cần đảm bảo là đã cài gói ứng dụng và thư viện OpenSSL lên server của mình. Đây là gói phần mềm ứng dụng rất là phổ biến nên thường sẽ có sẵn trong hệ thống, nhưng mà bạn có thể kiểm tra và cài mới nếu chưa có như sau .
– Kiểm tra đã OpenSSL hay chưa, nếu có thì sẽ xuất ra như sau.
+ CentOS/RedHat
# rpm -qa | grep -i openssl openssl-1.0.1e-48.el6_8.1.x86_64 openssl-devel-1.0.1e-48.el6_8.1.x86_64 openssl-1.0.1e-48.el6_8.1.i686
– Nếu chưa có thì cài mới như sau :
# yum install -y openssl openssl-devel openssl-dev
+ Debian/Ubuntu
# dpkg -l | grep -i openssl ii libgnutls-openssl27:amd64 2.12.23-12ubuntu2.4 amd64 GNU TLS library - OpenSSL wrapper ii openssl 1.0.1f-1ubuntu2.16 amd64 Secure Sockets Layer toolkit - cryptographic utility
– Nếu chưa có thì cài mới như sau :
# apt-get install -y openssl
2. Khởi tạo CSR
Có 2 cách để khởi tạo cặp file CSR và private key như sau. Trong đó key length cho key phải là từ 2048 trở lên. Lưu ý phần nhập thông tin cho file CSR mình sẽ note ở dưới chung phần này.
Cách 1 : Khởi tạo riêng file private key và CSR sau
+ Khởi tạo file private key
# openssl genrsa -out demo.cuongquach.com.key 2048
+ Khởi tạo CSR với input private key vừa tạo
# openssl req -new -sha256 -key demo.cuongquach.com.key -out demo.cuongquach.com.csr
Cách 2 : tạo private key và CSR cùng dòng lệnh đồng thời
# openssl req -new -newkey rsa:2048 -nodes -keyout demo.cuongquach.com.key -out demo.cuongquach.com.csr Generating a 2048 bit RSA private key ......+++ ...............+++ writing new private key to 'demo.cuongquach.com.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:VN State or Province Name (full name) []:HCM Locality Name (eg, city) [Default City]:HCM Organization Name (eg, company) [Default Company Ltd]:demo.cuongquach.com Organizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:demo.cuongquach.com Email Address []:admin@cuongquach.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Lưu ý nội dung nhập nhập vào file CSR
Trường | Nội dung | Ví dụ |
---|---|---|
Common Name | thông tin tên miền mà bạn muốn đăng ký chứng chỉ SSL HTTPS cho tên miền đó. Lưu ý : trường quan trọng nhất. Phải điền chính xác thông tin từng chữ. | Vd 1: - Nếu bạn đăng ký cho tên miền "http://demo.cuongquach.com/" thì bạn phải điền thông tin CN là : demo.cuongquach.com Vd 2: - Nếu bạn đăng ký wildcard ceritificate thì phải thêm prefix như sau *.demo.cuongquach.com |
Organization Name | tên công ty/tổ chức của bạn hoặc nếu là cá nhân thì có thể khai báo lại tên của domain bạn đăng ký. | demo.cuongquach.com |
Organizational Unit | bộ phận phòng ban chịu trách nhiệm tạo file CSR. | IT |
City or Locality | thành phố nơi bạn hoặc tổ chức/công ty bạn đang hoạt động. | HCM |
State or Province | bang hoặc vùng miền của nơi bạn hoặc tổ chức/công ty đang hoạt động. | HCM |
Country | 2 kí tự chuẩn ISO đại diện cho tên đất nước. Ví dụ : US, UK, VN,.. | VN |
– Để phần ‘challenge password‘ trống.
– Backup nội dung file private key cẩn thận. Mất là coi như toi luôn cặp chứng chỉ số đăng ký với nhà cung cấp SSL.
3. Kiểm tra nội dung file CSR
– Bạn có thể kiểm tra lại nội dung file CSR xem các thông tin điền vào đã đúng hay chưa bằng lệnh sau :
# openssl req -noout -text -in demo.cuongquach.com.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=VN, ST=HCM, L=HCM, O=demo.cuongqu\xC3\x83ach.com, OU=IT, CN=demo.cuongquach.com/emailAddress=admin@cuongquach.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) .... .... ....
– Sau cùng bạn đã hoàn tất và có thể copy nội dung file text ‘demo.cuongquach.com.csr‘ vào phần xác thực nội dung CSR phía nhà cung cấp SSL nhằm đăng ký chứng chỉ SSL Ceritificate mà bạn muốn đăng ký.
Cám ơn các bạn đã theo dõi bài viết nếu có bất kì thắc mắc gì, đừng ngại comment ở dưới bài viết nhé.