Tài liệu Hướng dẫn Sử dụng OpenSSL
OpenSSL là một bộ công cụ mã nguồn mở mạnh mẽ dành cho giao tiếp bảo mật. Công cụ này cung cấp các chức năng mã hóa, giải mã, hỗ trợ giao thức SSL/TLS, v.v. ServBay đã tích hợp sẵn OpenSSL nên bạn không cần cài đặt thêm. Bài viết này sẽ trình bày chi tiết cách cài đặt, cấu hình và sử dụng OpenSSL.
Cài đặt và Cấu hình
Cài đặt
OpenSSL đã được tích hợp sẵn trong ServBay, bạn không cần phải cài đặt thêm.
Cấu hình
Thông thường, tệp cấu hình của OpenSSL nằm tại thư mục /Applications/ServBay/package/common/openssl/3.2
(trên chip Intel là /Applications/ServBay/package/common/openssl/1.1.1u
). Tệp cấu hình mặc định có tên openssl.cnf
. Bạn có thể tùy chỉnh tệp này để điều chỉnh hành vi của OpenSSL.
Ví dụ nội dung tệp cấu hình:
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Tên quốc gia (mã gồm 2 ký tự)
countryName_default = US
stateOrProvinceName = Tên bang hoặc tỉnh (viết đầy đủ)
localityName = Tên thành phố hoặc địa phương
0.organizationName = Tên công ty hoặc tổ chức
organizationalUnitName = Tên bộ phận hoặc phòng ban
commonName = Tên chung (ví dụ: tên miền đầy đủ)
commonName_max = 64
[ req_attributes ]
challengePassword = Mật khẩu thử thách
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sử dụng Cơ bản
OpenSSL cung cấp nhiều công cụ dòng lệnh phục vụ các tác vụ mã hóa và quản lý chứng chỉ. Dưới đây là một số ví dụ cơ bản:
Tạo khóa riêng và khóa công khai
Tạo khóa riêng RSA
openssl genpkey -algorithm RSA -out private_key.pem
Tạo khóa công khai từ khóa riêng
openssl rsa -pubout -in private_key.pem -out public_key.pem
Tạo Yêu cầu Ký Chứng chỉ (CSR)
Tạo CSR
openssl req -new -key private_key.pem -out request.csr
Tạo Chứng chỉ Tự ký
Tạo chứng chỉ tự ký
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
Quản lý Chứng chỉ
Xem thông tin chứng chỉ
Xem thông tin CSR
openssl req -text -noout -verify -in request.csr
Xem thông tin chứng chỉ
openssl x509 -text -noout -in certificate.crt
Chuyển đổi định dạng chứng chỉ
Chuyển PEM sang DER
openssl x509 -outform der -in certificate.pem -out certificate.der
Chuyển DER sang PEM
openssl x509 -inform der -in certificate.der -out certificate.pem
Mã hóa và Giải mã
Mã hóa đối xứng
Mã hóa tệp bằng AES
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
Giải mã tệp bằng AES
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
Mã hóa bất đối xứng
Mã hóa tệp bằng khóa công khai
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
Giải mã tệp bằng khóa riêng
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
Các câu hỏi thường gặp
1. Không chạy được lệnh OpenSSL
- Cách xử lý: Hãy chắc chắn rằng biến môi trường của ServBay đã được thiết lập đúng. Nếu vẫn gặp lỗi, hãy vào mục “Cài đặt” > “Công cụ dòng lệnh” của ServBay, đặt lại cho cả
zsh
vàbash
, sau đó mở lại terminal.
2. Chứng chỉ tạo ra không hợp lệ
- Cách xử lý: Kiểm tra lại các thông tin trong tệp CSR và tệp cấu hình. Đảm bảo đã điền đầy đủ các trường bắt buộc.
3. Lỗi mã hóa hoặc giải mã
- Cách xử lý: Đảm bảo rằng bạn sử dụng đúng loại khóa và thuật toán. Kiểm tra lại đường dẫn tệp đầu vào và đầu ra.
Tổng kết
OpenSSL là một bộ công cụ mạnh mẽ và linh hoạt, phù hợp cho mọi nhiệm vụ giao tiếp bảo mật và mã hóa dữ liệu. Qua bài viết này, bạn đã nắm được cách cài đặt, cấu hình và sử dụng OpenSSL trong ServBay nhằm quản lý chứng chỉ và mã hóa dữ liệu một cách an toàn.