#node.js #ssl-certificate #digital-signature #smime
Вопрос:
Моя задача-убедиться, что электронное письмо имеет цифровую подпись, и прочитать имена отправителя и организации.
Я попытался использовать пакет «imap». Этот фрагмент считывает содержимое основного текста, а затем пытается проанализировать атрибуты
msg.on('body', function(stream, info) { var buffer = ''; stream.on('data', function(chunk) { buffer = chunk.toString('utf8'); }); msg.once("attributes", (attrs) =gt; { //TODO }); }
В теле письма, если на нем есть цифровая подпись, я вижу что-то вроде этого:
------=_NextPart_000_0008_01D7CCA9.33F25DA0 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIycDCCBlUw ggQ9oAMCAQICBHYpB MwDQYJKoZIhvcNAQELBQAwgZkxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZC YXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpa WlpBMTEdMBsGA1UECwwUU2llbWVucyBUcnVzdCBDZW50ZXIxIjAgBgNVBAMMGVNpZW1lbnMgUm9 ... ------=_NextPart_000_0008_01D7CCA9.33F25DA0--
И я ожидаю, что будут какие-то вложения attributes
. Но там ничего нет.
Если я прикреплю файл, я смогу увидеть и прочитать этот файл из параметров атрибута.
Как я могу получить цифровую подпись и извлечь имена отправителя и организации в Node.js? Возможно ли это вообще? Если это невозможно, как я могу проверить цифровую подпись и быть уверенным, что все в порядке?