cuốn sách gpt4 ai đã làm

linux - Mã hóa/ký email nhanh chóng

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:54:28 28 4
mua khóa gpt4 Nike

lý lịch: Tôi kế thừa một hệ thống nhúng dựa trên linux bao gồm proxy SMTP và một số hạn chế kỳ lạ mà tôi phải chấp nhận. Nó nằm giữa máy khách và máy chủ SMTP. Khi một máy khách SMTP kết nối, proxy sẽ mở một kết nối đến máy chủ và sau một số quá trình xử lý nhanh chóng sẽ chuyển dữ liệu của máy khách đến máy chủ.

thử thách:Tôi cần ký và/hoặc mã hóa email trên đường đến máy chủ bằng công nghệ PKI tiêu chuẩn và định dạng S/MIME (xem ví dụ RFC2311). Tôi có thể truy cập tất cả các khóa công khai được yêu cầu từ các chứng chỉ thích hợp.

hạn chế kỳ lạ(Xin hãy chấp nhận chúng vì chúng nằm ngoài tầm kiểm soát của tôi):

  1. Tôi không thể lưu trữ email đó;必须Xử lý ngay lập tức.
  2. Tôi có thể mã hóa cục bộ bằng khóa chung, nhưng tôi不能Truy cập trực tiếp vào khóa riêng có nghĩa là chữ ký số phải được hoàn thành bằng "thiết bị ký" qua kết nối 9600bps.
  3. Kích thước của một email thông thường làhàng chục hoặc hàng trăm MB. (Máy chủ email và người nhận có thể xử lý các kích thước này; vấn đề duy nhất là độ trễ Không được chấp nhận khi ký.)
  4. bất kỳ mã mới nàoTất cả nêntrong C, nhưng có thể chấp nhận được, ví dụ, chuyển dữ liệu sang một tiện ích riêng để mã hóa/ký, miễn là dữ liệu không bao giờ được lưu trữ (例如không có tập tin tạm thời).
  5. Thời gian giao hàng là 14-21 ngày.

câu hỏi:

  1. Tôi hy vọng tìm được một tiện ích hoặc thư viện nguồn mở để tạo các tiêu đề MIME thích hợp và mã hóa/ký khối dữ liệu, nhưng tôi không có một tiện ích hoặc thư viện nào trên Sourceforge, Google Code, v.v.上找到它。 Bạn đã sử dụng những cái được đề xuất chưa?
  2. Tôi rất muốn tìm một RFC nêu rõ rằng có thể chấp nhận băm 100MB dữ liệu và sau đó ký vào hàm băm, vì điều này sẽ làm giảm bớt tắc nghẽn 9600bps. Nhưng một lần nữa, không có may mắn. Có "phím tắt" (RFC) tiêu chuẩn ngành nào tương thích với các ứng dụng email thông thường không?

Cảm ơn bạn đã suy nghĩ của bạn.

câu trả lời hay nhất

Câu hỏi 1:

OpenSSL là một tiện íchlạiMột thư viện có thể tạo và xác thực các thông báo S/MIME (bao gồm các tiêu đề MIME). Nhìn thấy trang người đàn ông smime(1)Để sử dụng phiên bản tiện ích - tất cả đều được xây dựng bằng phiên bản thư viện, vì vậy nó cũng có thể làm được điều đó.

Câu hỏi 2:

Điều này không chỉ được chấp nhận mà còn được ký kết S/MIMEluôn luônđường. Bạn có thể tạo tin nhắn có chữ ký bằng cách sử dụng định dạng nhiều phần/có chữ ký (xem RFC2311 của Mục 3.4.3). Kiểu MIME nhiều phần này chứa chữ ký tách rời làm đối tượng của ứng dụng/chữ ký pkcs7 kiểu MIME. Phần 3.4.3.1 cho chúng ta biết rằng đối tượng này chứa đối tượng signatureData PKCS #7. PKCS #7 trong RFC2315 được mô tả trong , và đối tượng signatureData được mô tả trong Phần 9. Phần này cho chúng tôi biết rằng chúng tôi tạo một bản tóm tắt thông báo của thư mà chúng tôi muốn ký (S/MIME nói rằng việc triển khai phải hiểu ít nhất các bản tóm tắt thông báo MD5 và SHA1, vì vậy bạn sẽ sử dụng SHA1 làm tùy chọn tương tác với độ bảo mật tốt nhất) và sử dụng người ký Mã hóa nó bằng khóa riêng.

Miễn là thiết bị ký sẵn sàng nhận hàm băm SHA1 từ bạn và mã hóa nó bằng khóa riêng của người ký thì bạn có thể tự mình thực hiện tất cả phần còn lại của việc tạo chữ ký.

Sau đó, bạn sẽ lấy đối tượng MIME nhiều phần/đã ký và mã hóa nó theo đặc tả S/MIME, sau đó ký lại toàn bộ quả bóng sáp (chế độ ký-mã hóa-ký) để cuối cùng bạn có:

  • đối tượng nhiều phần/đã ký trong đó phần đầu tiên là:
  • Một đối tượng ứng dụng/pkcs7-mime mà khi được giải mã theo PKCS #7 sẽ chứa:
  • Một đối tượng đa nền/có chữ ký khác trong đó phần đầu tiên là:
  • Một đối tượng MIME đại diện cho email gốc (hoặc chỉ phần nội dung; bất cứ thứ gì bạn cần...)

phụ lục:

OpenSSL hỗ trợ các "công cụ" mã hóa có thể cắm được, có thể thực hiện các hoạt động mã hóa thay mặt cho thư viện. Cách tốt nhất để đạt được điều này có lẽ là tạo một công cụ OpenSSL cho thiết bị ký bên ngoài của bạn và gọi các chức năng S/MIME OpenSSL thông thường khi bật công cụ đó. Nếu thiết bị ký bên ngoài của bạn "không có sẵn", có thể đã có trình bao bọc công cụ cho OpenSSL.

Về linux - mã hóa/ký email nhanh chóng, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/1535380/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress