Tôi có thể tạo chứng chỉ S / MIME của riêng mình để mã hóa email không? [đóng cửa]


19

Tôi có một chút vấn đề ở đây. Chịu đựng tôi vì đây có thể là một trường hợp "không hỏi đúng câu hỏi".

Bối cảnh: Sử dụng Apple Mail. Muốn mã hóa / giải mã email nhưng GPGMail (và dường như PGP) không được hỗ trợ với Snow Leopard.

Về cơ bản tôi cần tạo chứng chỉ S / MIME để sử dụng trong mã hóa email. Tôi không muốn, tôi cũng không quan tâm đến Cơ quan cấp chứng chỉ. Tôi chỉ đơn giản muốn có một chứng chỉ nhanh và bẩn. Điều này thậm chí có thể (sử dụng OPENSSL, v.v.) hay toàn bộ quá trình xoay quanh cơ quan có thẩm quyền cao hơn buộc tôi phải thiết lập CA toàn diện hoặc giao dịch với một công ty (ví dụ Verisign, Thawte) để lấy chứng chỉ? Tiêu chí của tôi là sự hài lòng ngay lập tức, và miễn phí.

Tốt.


1
Lưu ý rằng chứng chỉ của bạn được sử dụng cho hai mục đích trong S / MIME. Để ký email của bạn và để giải mã email được gửi cho bạn bởi người khác. Để mã hóa email cho người khác, bạn sẽ cần chứng chỉ của họ. Thông thường, các ứng dụng email được thiết lập ngoài hộp để tin tưởng một số bộ CA được xác định trước. Nếu chứng chỉ không được ký bởi một trong số này, bạn sẽ nhận được ít nhất một tin nhắn khó chịu và thậm chí có thể là một hệ thống không hoạt động.
James phục hồi Monica Polk

1
Tôi biết đây là một câu hỏi cũ hơn, nhưng để tham khảo trong tương lai, plugin GPGMail hiện hoạt động trên Snow Leopard gpgtools.org/installer/index.html
Jason Whitehorn

Tôi biết đây là một nhận xét cũ hơn - nhưng GPGMail không còn miễn phí cho OSX nữa.
nycynik

Câu trả lời:


23

Vâng, thật tệ khi Apple Mail không hỗ trợ GPG. :-( Tôi ước điều đó xảy ra vì tôi cũng thích e-mail được mã hóa GPG.

Tôi cũng đồng ý rằng thông tin xung quanh S / MIME và tạo chứng chỉ e-mail của riêng bạn rất khó để có được. Tôi tìm thấy trang web của Paul Bramscher's có một mô tả hay về cách tạo chứng chỉ Cơ quan cấp chứng chỉ của riêng bạn.

Tôi không giả vờ hiểu đầy đủ về quy trình cấp chứng chỉ, nhưng đây là những gì tôi đã có thể ghép lại. Bạn nên tham khảo trang web openssl để biết thêm thông tin chi tiết về từng lệnh được hiển thị bên dưới.

Tạo chứng chỉ

Bước đầu tiên là tạo Tổ chức phát hành chứng chỉ (CA) của riêng bạn. Các lệnh là LỚN

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

và làm theo lời nhắc.

Bạn sẽ cần cấp chứng chỉ CA của mình (tức là nội dung của ca.crt ) cho mỗi và mọi người nhận e-mail được mã hóa của bạn. Người nhận sẽ phải cài đặt và tin tưởng chứng chỉ CA của bạn để e-mail được mã hóa của bạn sẽ được tin cậy. Việc cài đặt sẽ khác nhau đối với từng ứng dụng thư khách sử dụng.

Trong trường hợp của bạn, bạn sẽ cần thêm chứng chỉ CA của mình vào Apple Keychain. Có rất nhiều bài đăng trên web về cách nhập và tin tưởng chứng chỉ CA trong Apple Keychain.

Tạo yêu cầu chứng chỉ email cá nhân

Bây giờ bạn cần tạo một yêu cầu chứng chỉ. Tạo một địa chỉ cho mỗi địa chỉ email bạn muốn gửi e-mail từ đó. Thực hiện các lệnh sau

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

và làm theo lời nhắc.

Cơ quan cấp chứng chỉ ký yêu cầu chứng chỉ của bạn

Giấy chứng nhận cá nhân của bạn cần được ký bởi CA. Trong trường hợp này, bạn!

# 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

Đầu ra là chứng chỉ đã ký của bạn.

Chuẩn bị chứng chỉ để nhập vào ứng dụng thư của bạn

Bạn cần chuyển đổi chứng chỉ của bạn từ .crt(định dạng PEM, tôi nghĩ) sang .p12(định dạng PCKS12).

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

Bây giờ bạn có thể nhập *.p12*chứng chỉ được định dạng của bạn vào ứng dụng thư khách. Trong trường hợp của bạn, nhập *.p12*tệp vào Apple Keychain. Khi chứng chỉ được cài đặt chính xác, Apple Mail sẽ bắt đầu sử dụng chứng chỉ của bạn.

Co một cach dê dang hơn

Tất nhiên, một khi bạn đã tạo CA của riêng mình, có một cách dễ dàng hơn để quản lý chứng chỉ được tạo bởi Cơ quan cấp chứng chỉ của riêng bạn. openssl đi kèm với một kịch bản có tên là

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

giúp đơn giản hóa quá trình trở thành Tổ chức phát hành chứng chỉ của riêng bạn. Thậm chí còn có một trang dành cho CA.pl!


Trong phần Cơ quan cấp chứng chỉ ký Yêu cầu chứng chỉ của bạn. Đối số "-CAKey" cần phải là "-CAkey" với chữ thường 'k' - ít nhất là đối với phiên bản của tôi Mở SSL 1.0.0a ngày 1 tháng 6 năm 2010
KevM

2
Tôi đã đổi -CAKey thành -CAkey. Đây là một câu trả lời thực sự xuất sắc, nhưng nhận xét phụ về GPG là không có thông tin. S / MIME có nhiều lợi thế hơn GPG. Bên cạnh hỗ trợ rộng hơn, nó bao gồm chứng chỉ với mỗi tin nhắn đã ký, cung cấp cơ chế phân phối chứng chỉ tích hợp.
vy32

Đừng quên đặt một số hạn chế cho chứng chỉ, xem security.stackexchange.com/a/30069/3272
Tobias Kienzler

8

1
Commodo sử dụng thẻ <keygen> để cho phép trình duyệt của bạn tạo CSR mà không chia sẻ khóa riêng. Điều đó không hoạt động trong hầu hết các trình duyệt hiện đại (ví dụ: Chrome 49+).
mhvelplund

Trích dẫn từ trang: Vui lòng sử dụng Mozilla® Firefox® hoặc Microsoft® Internet Explorer® 8+ để thu thập chứng chỉ của bạn. Chứng chỉ email không thể được thu thập bằng Google® Chrome® hoặc Microsoft Edge. NÓI. Điều này phù hợp với bảng tương thích từ MDN .
Franklin Yu

hoạt động bằng cách sử dụng safari.
nycynik

1

Như những người khác đã nói, câu trả lời rõ ràng là có. Bạn có thể tạo nó thông qua openssl hoặc bạn có thể sử dụng một trong những nhà cung cấp cung cấp chứng nhận email x509 miễn phí.

Điều đó đang được nói, câu hỏi quan trọng nhất là: những người bạn trao đổi email sử dụng là gì? Tôi đang hoạt động trong cộng đồng phần mềm miễn phí, vì vậy hầu hết những người tôi trao đổi email đều sử dụng GPG. Những người duy nhất tôi biết sử dụng S / MIME làm như vậy trên email công việc của họ như là một vấn đề của chính sách công ty.

Nếu những người bạn gửi email không sử dụng S / MIME, bạn sẽ không thể mã hóa cho họ và họ sẽ không thể xác minh email đã ký.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.