ฉันสามารถสร้างใบรับรอง S / MIME ของตัวเองสำหรับการเข้ารหัสอีเมลได้หรือไม่ [ปิด]


19

ฉันมีปัญหาเล็กน้อยที่นี่ อดทนกับฉันเช่นนี้อาจเป็นกรณีของ "ไม่ถามคำถามที่ถูกต้อง"

พื้นหลัง: การใช้ Apple Mail ต้องการเข้ารหัส / ถอดรหัสอีเมล แต่ GPGMail (และเห็นได้ชัดว่า PGP) ไม่รองรับ Snow Leopard

โดยทั่วไปฉันจำเป็นต้องสร้างใบรับรอง S / MIME เพื่อใช้ในการเข้ารหัสอีเมล ฉันไม่ต้องการและฉันไม่สนใจหน่วยงานออกใบรับรอง ฉันต้องการใบรับรองที่รวดเร็วและสกปรก สิ่งนี้เป็นไปได้หรือไม่ (โดยใช้ OPENSSL ฯลฯ ) หรือทำบานพับกระบวนการทั้งหมดบนหน่วยงานที่มีอำนาจสูงกว่าบังคับให้ฉันตั้งค่า CA แบบเต็มรูปแบบหรือจัดการกับ บริษัท (เช่น Verisign, Thawte) สำหรับใบรับรองหรือไม่ เกณฑ์ของฉันคือความพึงพอใจทันทีและฟรี

ดีที่สุด


1
โปรดทราบว่าใบรับรองของคุณใช้สำหรับสองวัตถุประสงค์ใน S / MIME เพื่อลงชื่ออีเมลของคุณและถอดรหัสอีเมลที่บุคคลอื่นส่งถึงคุณ ในการเข้ารหัสอีเมลกับบุคคลอื่นคุณจะต้องมีใบรับรองของพวกเขา โดยทั่วไปแล้วไคลเอนต์อีเมลจะได้รับการติดตั้งออกจากกล่องเพื่อไว้วางใจชุด CA หากใบรับรองไม่ได้ลงนามโดยหนึ่งในนั้นคุณจะได้รับข้อความที่น่ารังเกียจอย่างน้อยและอาจเป็นระบบที่ไม่ทำงาน
James Reinstate Monica Polk

1
ฉันรู้ว่านี้เป็นคำถามที่เก่า แต่สำหรับการอ้างอิงในอนาคตปลั๊กอิน GPGMail ไม่ตอนนี้ทำงานในเสือดาวหิมะgpgtools.org/installer/index.html
เจสันไวท์ฮอร์น

ฉันรู้ว่านี่เป็นความคิดเห็นที่เก่ากว่า - แต่ GPGMail นั้นไม่ฟรีสำหรับ OSX อีกต่อไป
nycynik

คำตอบ:


23

ใช่มันแย่แล้วที่ Apple Mail ไม่รองรับ GPG :-( ฉันหวังว่าจะเป็นเช่นนั้นเพราะฉันต้องการอีเมลที่เข้ารหัสด้วย GPG

ฉันยอมรับด้วยว่าข้อมูลโดยรอบ S / MIME และการสร้างใบรับรองอีเมลของคุณเองนั้นเป็นเรื่องยาก ฉันพบหน้าเว็บของ Paul Bramscherมีคำอธิบายที่ดีเกี่ยวกับวิธีสร้างใบรับรองผู้ออกใบรับรองของคุณเอง

ฉันไม่เสแสร้งที่จะเข้าใจกระบวนการรับรองอย่างสมบูรณ์ แต่นี่คือสิ่งที่ฉันสามารถรวมเข้าด้วยกันได้ คุณควรศึกษา openssl manpage สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับแต่ละคำสั่งที่แสดงด้านล่าง

สร้างผู้ออกใบรับรอง

ขั้นตอนแรกคือการสร้าง Certificate Authority (CA) ของคุณเอง คำสั่งคือ ...

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

และปฏิบัติตามคำแนะนำ

คุณจะต้องออกใบรับรอง CA ของคุณ (เช่นเนื้อหาของca.crt ) ให้กับผู้รับอีเมลที่เข้ารหัสของคุณทุกคน ผู้รับจะต้องติดตั้งและเชื่อถือใบรับรอง CA ของคุณเพื่อให้อีเมลที่เข้ารหัสของคุณเชื่อถือได้ การติดตั้งจะแตกต่างกันไปสำหรับเมลไคลเอ็นต์แต่ละตัวที่ใช้

ในกรณีของคุณคุณจะต้องเพิ่มใบรับรอง CA ลงใน Apple Keychain ของคุณ มีโพสต์บนเว็บมากมายเกี่ยวกับวิธีนำเข้าและเชื่อถือใบรับรอง CA ใน Apple Keychain

สร้างคำขอใบรับรองอีเมลส่วนบุคคล

ตอนนี้คุณต้องสร้างคำขอใบรับรอง สร้างที่อยู่อีเมลแต่ละอันที่คุณต้องการส่งอีเมล ดำเนินการคำสั่งต่อไปนี้ ...

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

และปฏิบัติตามคำแนะนำ

ผู้ออกใบรับรองลงนามในคำขอใบรับรองของคุณ

ใบรับรองส่วนบุคคลของคุณจะต้องลงนามโดย CA ของคุณ ในกรณีนี้คุณ!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

ผลลัพธ์คือใบรับรองที่ลงนามของคุณ

เตรียมใบรับรองของคุณสำหรับการนำเข้าสู่แอปพลิเคชันจดหมายของคุณ

คุณต้องแปลงใบรับรองของคุณจาก.crt(รูปแบบ PEM ฉันคิดว่า) เป็น.p12(รูปแบบ PCKS12)

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

ตอนนี้คุณสามารถนำเข้า*.p12*ใบรับรองที่จัดรูปแบบของคุณไปยังโปรแกรมรับส่งเมล ในกรณีของคุณนำเข้า*.p12*ไฟล์ลงใน Apple Keychain เมื่อติดตั้งใบรับรองอย่างถูกต้องแล้ว Apple Mail จะเริ่มใช้ใบรับรองของคุณ

มีวิธีที่ง่ายกว่า

แน่นอนว่าเมื่อคุณสร้าง CA ของคุณเองแล้วคุณจะมีวิธีจัดการใบรับรองที่สร้างโดยผู้ออกใบรับรองของคุณเองได้ง่ายขึ้น opensslมาพร้อมกับสคริปต์ชื่อ ...

# /usr/lib/ssl/misc/CA.pl

ซึ่งทำให้กระบวนการในการเป็นผู้ออกใบรับรองของคุณง่ายขึ้น มีแม้กระทั่ง man page สำหรับ CA.pl!


ในส่วนผู้ออกใบรับรองลงนามในคำขอใบรับรองของคุณ อาร์กิวเมนต์ "-CAKey" ต้องเป็น "-Ckey" ด้วยตัวพิมพ์เล็ก 'k' - อย่างน้อยสำหรับรุ่นของฉัน Open SSL 1.0.0a 1 มิ.ย. 2010
KevM

2
ฉันเปลี่ยน -CAKey เป็น -CAkey นี่เป็นคำตอบที่ยอดเยี่ยมจริงๆ แต่ความเห็นด้านข้างเกี่ยวกับ GPG นั้นไม่ได้รับการรับรอง S / MIME มีข้อดีมากกว่า GPG นอกเหนือจากการสนับสนุนที่กว้างขึ้นใบรับรองนี้ยังรวมถึงข้อความที่เซ็นชื่อแต่ละข้อความซึ่งมีกลไกการกระจายใบรับรองในตัว
vy32

อย่าลืมตั้งข้อ จำกัด บางอย่างกับใบรับรองดูที่security.stackexchange.com/a/30069/3272
Tobias Kienzler

8

1
Commodo ใช้แท็ก <keygen> เพื่อให้เบราว์เซอร์ของคุณสร้าง CSR โดยไม่ต้องแชร์คีย์ส่วนตัว ไม่สามารถใช้งานได้ในเบราว์เซอร์ที่ทันสมัยที่สุด (เช่น Chrome 49+)
mhvelplund

อ้างจากหน้า:“ โปรดใช้Mozilla®Firefox®หรือMicrosoft® Internet Explorer® 8+ เพื่อรวบรวมใบรับรองของคุณ ไม่สามารถรวบรวมใบรับรองอีเมลโดยใช้Google®Chrome®หรือ Microsoft Edge ” นี้ตรงกับตารางการทำงานร่วมกันจาก MDN
แฟรงคลินหยู

ทำงานโดยใช้ซาฟารี
nycynik

1

อย่างที่คนอื่นพูดคำตอบคือใช่แน่นอน คุณสามารถสร้างมันผ่าน openssl หรือคุณสามารถใช้หนึ่งในผู้ให้บริการที่ให้ใบรับรองอีเมล x509 ฟรี

คำถามที่สำคัญที่สุดคือ: คนที่คุณแลกเปลี่ยนอีเมลด้วยการใช้งานคืออะไร ฉันทำงานอยู่ในชุมชนซอฟต์แวร์ฟรีดังนั้นคนส่วนใหญ่ที่ฉันแลกเปลี่ยนอีเมลด้วยการใช้ GPG คนเดียวที่ฉันรู้ว่าใช้ S / MIME ทำในอีเมลที่ทำงานของพวกเขาเป็นเรื่องของนโยบายขององค์กร

หากคนที่คุณส่งอีเมลไม่ได้ใช้ S / MIME คุณจะไม่สามารถเข้ารหัสให้กับพวกเขาและพวกเขาจะไม่สามารถยืนยันอีเมลที่ลงชื่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.