เอกสารการใช้งาน OpenSSL
OpenSSL เป็นชุดเครื่องมือโอเพ่นซอร์สที่ทรงพลังสำหรับการสื่อสารที่ปลอดภัย โดยมีความสามารถด้านการเข้ารหัส ถอดรหัส และการทำงานกับโปรโตคอล SSL/TLS ServBay มีการติดตั้ง OpenSSL มาให้พร้อมใช้งานแล้ว ในบทความนี้จะแนะนำวิธีการติดตั้ง การตั้งค่า และวิธีใช้งาน OpenSSL อย่างละเอียด
การติดตั้งและการตั้งค่า
การติดตั้ง
ServBay มี OpenSSL ติดตั้งมาให้พร้อมใช้งานแล้ว จึงไม่จำเป็นต้องติดตั้งเพิ่มเติม
การตั้งค่า
ไฟล์คอนฟิกของ OpenSSL โดยทั่วไปจะอยู่ที่ไดเรกทอรี /Applications/ServBay/package/common/openssl/3.2
(สำหรับชิป Intel อยู่ที่ /Applications/ServBay/package/common/openssl/1.1.1u
) โดยไฟล์คอนฟิกหลักจะชื่อว่า openssl.cnf
คุณสามารถปรับแต่งไฟล์นี้ได้ตามต้องการเพื่อเปลี่ยนพฤติกรรมของ OpenSSL
ตัวอย่างเนื้อหาไฟล์คอนฟิก:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
1
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
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
การใช้งานพื้นฐาน
OpenSSL มีเครื่องมือคำสั่งมากมายสำหรับงานเข้ารหัสและจัดการใบรับรองต่างๆ ตัวอย่างต่อไปนี้คือวิธีใช้งานขั้นพื้นฐาน
การสร้างกุญแจส่วนตัวและกุญแจสาธารณะ
สร้างกุญแจ RSA ส่วนตัว
bash
openssl genpkey -algorithm RSA -out private_key.pem
1
สร้างกุญแจสาธารณะจากกุญแจส่วนตัว
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
การสร้าง Certificate Signing Request (CSR)
สร้าง CSR
bash
openssl req -new -key private_key.pem -out request.csr
1
การออกใบรับรองด้วยตนเอง (Self-Signed Certificate)
สร้างใบรับรองที่เซ็นด้วยตนเอง
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
การจัดการใบรับรอง
ดูข้อมูลใบรับรอง
ดูข้อมูลจาก CSR
bash
openssl req -text -noout -verify -in request.csr
1
ดูข้อมูลในใบรับรอง
bash
openssl x509 -text -noout -in certificate.crt
1
แปลงรูปแบบใบรับรอง
แปลง PEM เป็น DER
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
แปลง DER เป็น PEM
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
การเข้ารหัสและถอดรหัส
การเข้ารหัสแบบสมมาตร
เข้ารหัสไฟล์โดยใช้ AES
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
ถอดรหัสไฟล์โดยใช้ AES
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
การเข้ารหัสแบบอสมมาตร
เข้ารหัสไฟล์ด้วยกุญแจสาธารณะ
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
ถอดรหัสไฟล์ด้วยกุญแจส่วนตัว
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
คำถามที่พบบ่อย
1. ไม่สามารถรันคำสั่ง OpenSSL ได้
- วิธีแก้ไข: ตรวจสอบให้แน่ใจว่าเซ็ตตัวแปรสภาพแวดล้อมของ ServBay ถูกต้องแล้ว หากยังมีปัญหาให้ลองเปิด “การตั้งค่า” ของ ServBay จากนั้นเลือก “เครื่องมือคำสั่ง” ตั้งค่าแยกสำหรับ
zsh
และbash
แล้วเปิดเทอร์มินัลใหม่อีกครั้ง
2. ใบรับรองที่สร้างขึ้นใช้งานไม่ได้
- วิธีแก้ไข: ตรวจสอบข้อมูลในไฟล์ CSR และไฟล์คอนฟิกว่าถูกต้องหรือไม่ ทุกช่องที่ต้องใส่ข้อมูลควรถูกกรอกให้ครบ
3. การเข้ารหัสหรือถอดรหัสล้มเหลว
- วิธีแก้ไข: ให้แน่ใจว่าเลือกใช้กุญแจและอัลกอริทึมให้ตรงกัน และตรวจสอบเส้นทางไฟล์อินพุต/เอาต์พุตให้ถูกต้อง
สรุป
OpenSSL คือเครื่องมือที่ทรงพลังและยืดหยุ่น เหมาะสำหรับงานด้านความปลอดภัยในการสื่อสารและการเข้ารหัสข้อมูลต่างๆ จากบทความนี้ คุณจะเข้าใจวิธีการติดตั้ง ตั้งค่า และใช้งาน OpenSSL ใน ServBay เพื่อจัดการใบรับรองและปกป้องข้อมูลของคุณได้อย่างมีประสิทธิภาพ