Menu

Showing posts with label openssl. Show all posts
Showing posts with label openssl. Show all posts

Monday, January 6, 2020

[Security] วิธีการบีบอัดไฟล์ ZIP พร้อมเข้ารหัสและถอดรหัสด้วย Public และ Private Keys
[Security] How to Create ZIP Files with Encryption and Decryption using Public and Private Key


สมมติว่า
  1. เราสร้าง Private key ชื่อ key.pem และ Public key ชื่อ pub.pem ด้วย OpenSSL แล้ว
  2. เราต้องการสร้าง ไฟล์ ZIP ชื่อ archive.7z 

วิธีการบีบอัดและเข้ารหัสไฟล์ ZIP

  1. สร้างรหัสผ่านด้วยการสุ่ม
  2. เข้ารหัสรหัสผ่านด้วย pub.pem แล้วบันทึกลงไฟล์ข้อความ archivePassword.ssl
  3. บีบอัดไฟล์ข้อความดังกล่าว archivePassword.ssl เข้าไปใน archive.7z โดยไม่กำหนดรหัสผ่าน
  4. บีบอัดแฟ้มหรือไฟล์ที่ต้องการเข้าไปเพิ่มใน archive.7z ด้วยรหัสผ่านตามข้อ 1

วิธีการถอดรหัสและแตกไฟล์ไฟล์ ZIP

  1. แตกไฟล์ข้อความ archivePassword.ssl จาก archive.7z
  2. ถอดรหัสข้อความภายใน archivePassword.ssl  ด้วย key.pem เพื่อให้ได้รหัสผ่านสำหรับแตกไฟล์
  3. แตก archive.7z ส่วนที่เหลือด้วยรหัสผ่านที่จากข้อ 2 เพื่อให้ได้แฟ้มหรือไฟล์ที่ต้องการ
สำหรับคนที่ต้องการใช้งานสคริปต์สำเร็จรูป สามารถดูได้ที่ https://github.com/arzeroid/e7z

หมายเหตุ สาเหตุที่ไม่เข้ารหัสไฟล์ ZIP ทั้งไฟล์ เพราะจะใช้เวลานานทั้งตอนเข้ารหัสและถอดรหัส จึงเข้ารหัสและถอดรหัสแค่รหัสผ่านเท่านั้น

Friday, December 6, 2019

[Security] การเข้ารหัสและถอดรหัสไฟล์โดยใช้ Public และ Private Keys
[Security] File Encryption and Decryption by Using Public and Private Keys


สมมติว่า มีไฟล์ที่เกี่ยวข้องดังนี้
  • key.pem เป็นไฟล์ Private key
  • pub.pem เป็นไฟล์ Public key
  • data.txt เป็นไฟล์ข้อความที่ต้องการเข้ารหัส
หมายเหตุ กรณีที่ยังไม่มีไฟล์ key.pem และ pub.pem อ่านวิธีสร้างได้ที่ การสร้าง Private Key และ Public Key ด้วย OpenSSL

[Security] การสร้าง Private Key และ Public Key ด้วย OpenSSL
[Security] How to Create Private Key and Public Key with OpenSSL


สมมติว่า ได้ติดตั้ง OpenSSL ไว้ภายในเครื่องแล้ว และเราต้องการสร้าง Private key ชื่อ key.pem และ Public key ชื่อ pub.pem

วิธีการสร้าง Private key และ Public key เป็นดังนี้
  1. สร้าง Private key โดยรันคำสั่งดังนี้
  2. openssl genrsa -out key.pem 1024
    
  3. เรียกดูข้อมูล Private key ที่ถูกสร้างขึ้นด้วยคำสั่งดังนี้
  4. openssl rsa -in key.pem -text -noout
    
  5. สร้าง Public key จาก Private key ที่เพิ่งสร้าง โดยรันคำสั่งดังนี้
  6. openssl rsa -in key.pem -pubout -out pub.pem
    
  7. เรียกดูข้อมูล Public key ที่ถูกสร้างขึ้นด้วยคำสั่งดังนี้
  8. openssl rsa -in pub.pem -pubin -text -noout
    

[Security] การติดตั้ง OpenSSL บน Windows
[Security] OpenSSL Installation on Windows


OpenSSL เป็นเครื่องมือสำหรับ Transport Layer Security (TLS) และ Secure Sockets Layer (SSL) protocols

วิธีการติดตั้ง

  1. Download OpenSSL installer (Win64 OpenSSL v1.1.1d Light) จาก https://slproweb.com/products/Win32OpenSSL.html 
  2. ติดตั้งโปรแกรมที่ C:\Program Files\OpenSSL-Win64
  3. เพิ่มค่า Path ใน Environment variable ด้วย C:\Program Files\OpenSSL-Win64\bin

วิธีการทดสอบ

  1. เปิด Windows PowerShell
  2. รันคำสั่ง openssl

Monday, October 14, 2019

[Security] การสร้าง Public Key และ Private Key ด้วย OpenSSL
[Security] How to Generate Public and Private Keys with OpenSSL

สำหรับการสร้าง RSA key หรือ Private Key สามารถใช้คำสั่งดังนี้
openssl genrsa -out key.pem 1024
openssl rsa -in key.pem -text -noout
Private Key ที่ได้จะอยู่ในไฟล์ชื่อ key.pem

สำหรับการสร้าง Public Key สามารถใช้คำสั่งดังนี้
openssl rsa -in key.pem -pubout -out pub.pem
openssl rsa -in pub.pem -pubin -text -noout
Public Key ที่ได้จะอยู่ในไฟล์ชื่อ pub.pem