Không, dữ liệu bao bọc CMS không chứa khóa công khai của người nhận.
(Dữ liệu được bao bọc và dữ liệu được mã hóa là khác nhau, mặc dù OpenSSL sử dụng một cách khó hiểu -mã hóa
và -giải mã
cho trước đây và -EncryptedData_encrypt
và -EncryptedData_decrypt
cho cái sau!) Không cần; tin nhắn được gửi đến người nhận và người nhận biết (các) khóa của riêng họ.
Dữ liệu được bao bọc cho người nhận có khóa ECC sử dụng ES-ECDH hoặc 1-pass ECMQV và OpenSSL chọn cái trước; xem RFC5753 3.1. Như đã nêu ở đó, điều này có nghĩa là RecipientInfo sử dụng KeyAgreeRecipientInfo lựa chọn (với thẻ 1). Như được triển khai bởi OpenSSL, điều này bao gồm:
phiên bản
3
người khởi xướng
(thẻ 0 rõ ràng) lựa chọn người khởi tạoKey
(thẻ 1 TRÌNH TỰ ẩn) chứa AlgorithmIdentifier và BITSTRING chứa, như RFC5753 nói "khóa công khai EC tạm thời của tác nhân gửi". Lưu ý rằng đây là khóa của người gửi chứ không phải của người nhận và là khóa tạm thời nên nó không có trong bất kỳ chứng chỉ nào ngay cả đối với người gửi.
ukm
(thẻ 1 rõ ràng) tùy chọn và không được sử dụng
keyEncryptionAlgorithm
AlgorithmIdentifier cho dhSinglePass và gói khóa đối xứng
người nhậnKhóa được mã hóa
một SEQUENCE của SEQUENCE mỗi chứa Tổ chức phát hànhVà số sê-ri
(một Tên phân biệt và INTEGER) và khóa mã hóa
(BITSTRING là khóa dữ liệu được bao bọc bởi bí mật DH). Cái này xác định khóa người nhận nhưng không chứa nó.
Bạn dường như đã bỏ qua hoặc loại bỏ ít nhất một phần của người nhậnKhóa được mã hóa
dữ liệu trong hình ảnh của bạn, nhưng thật khó để nói chắc chắn. Đây là một chính xác hiển thị (bao gồm cả KARI) của tin nhắn tôi đã tạo:
0:d=0 hl=4 l= 280 khuyết điểm: TRÌNH TỰ
4:d=1 hl=2 l= 9 nguyên tố: ĐỐI TƯỢNG :pkcs7-envelopedData
15:d=1 hl=4 l= 265 khuyết điểm: tiếp [ 0 ]
19:d=2 hl=4 l= 261 khuyết điểm: TRÌNH TỰ
23:d=3 hl=2 l= 1 nguyên tố: INTEGER :02
26:d=3 hl=3 l= 202 khuyết điểm: SET
29:d=4 hl=3 l= 199 khuyết điểm: tiếp [ 1 ]
32:d=5 hl=2 l= 1 nguyên tố: INTEGER :03
35:d=5 hl=2 l= 65 nhược điểm: tiếp [ 0 ]
37:d=6 hl=2 l= 63 khuyết điểm: tiếp [ 1 ]
39:d=7 hl=2 l= 9 khuyết điểm: TRÌNH TỰ
41:d=8 hl=2 l= 7 nguyên tố: ĐỐI TƯỢNG :id-ecPublicKey
50:d=7 hl=2 l= 50 prim: CHUỖI BIT
102:d=5 hl=2 l= 28 khuyết điểm: TRÌNH TỰ
104:d=6 hl=2 l= 9 nguyên tố: ĐỐI TƯỢNG :dhSinglePass-stdDH-sha1kdf-scheme
115:d=6 hl=2 l= 15 khuyết điểm: TRÌNH TỰ
117:d=7 hl=2 l= 11 nguyên thủy: ĐỐI TƯỢNG :id-smime-alg-CMS3DESwrap
130:d=7 hl=2 l= 0 nguyên tố: NULL
132:d=5 hl=2 l= 97 khuyết điểm: TRÌNH TỰ
134:d=6 hl=2 l= 95 khuyết điểm: TRÌNH TỰ
136:d=7 hl=2 l= 51 khuyết điểm: TRÌNH TỰ
138:d=8 hl=2 l= 45 khuyết điểm: TRÌNH TỰ
140:d=9 hl=2 l= 43 khuyết điểm: SET
142:d=10 hl=2 l= 41 khuyết điểm: TRÌNH TỰ
144:d=11 hl=2 l= 3 nguyên tố: ĐỐI TƯỢNG :commonName
149:d=11 hl=2 l= 34 prim: PRINTABLESTRING:(REDACTED)
185:d=8 hl=2 l= 2 nguyên tố: INTEGER(DỮ LIỆU BỊ GIẤU)
189:d=7 hl=2 l= 40 prim: OCTET STRING [HEX DUMP]:847B0D796D954C05AF37E1AEFE11C7F6762FB8CE2A891AD22B5646E79E95B556EDEC5A240ACCC621
231:d=3 hl=2 l= 51 khuyết điểm: TRÌNH TỰ
233:d=4 hl=2 l= 9 nguyên tố: ĐỐI TƯỢNG :pkcs7-data
244:d=4 hl=2 l= 20 khuyết điểm: TRÌNH TỰ
246:d=5 hl=2 l= 8 nguyên tố: ĐỐI TƯỢNG :des-ede3-cbc
256:d=5 hl=2 l= 8 prim: OCTET STRING [HEX DUMP]:9780611D4883D5B1
266:d=4 hl=2 l= 16 nguyên tố: tiếp [ 0 ]