Stu ... Мне когда-то приходилось писать сервер "Secure SMTP" на Java ... Самый простой и быстрый способ сделать это - загрузить и / или купить PGP. У них есть SDK, который вы можете использовать для доступа ко всему, что захотите.
Я должен был бы вернуться и посмотреть, должен ли я написать обертку COM или она уже была. (Я написал этот SMTP-сервер около 10 лет назад). В любом случае, не расстраивайтесь. Около 5 лет назад я написал целое приложение на основе PGP (на основе openPGP RFC) на C ++, но подвох был в том, что мне было НЕ разрешено использовать любые существующие библиотеки. Таким образом, я должен был написать все это сам. И я использовал GPG, OpenPGP и PGP для тестирования и т.д ....
Итак, я мог бы даже помочь вам с тем, как декодировать этот материал в VBA. Это не невозможно, (это может быть чертовски медленно, но не невозможно), и я НЕ из тех, кто "выкладывает и запускает команды cmdline, чтобы сделать такую работу для вас, так как это откроет вам некоторые СЕРЬЕЗНЫЕ угрозы безопасности , как предложение урагана (например) приведет к отображению вашей парольной фразы в таких инструментах, как ProcExp). Первым шагом является изучение работы PKE и т. д. Затем, шаги, которые необходимо сделать, чтобы получить то, что вы хотите.
Это то, с чем мне было бы интересно помочь, так как я всегда один, чтобы писать код, который, как все говорят, не может быть сделан. :) Кроме того, я владею исходным кодом написанного мною приложения из-за слияний, замыканий и т. Д. *
Первоначально он был написан для нефтегазовой промышленности, поэтому я знаю, что он безопасен. Это не значит, что в коде нет ANY недостатков безопасности, но я думаю, что он стабилен. Я знаю, что у меня есть проблема с моим китайским кодом Remainder Threory. По какой-то причине, когда я использую этот ярлык, я не могу правильно декодировать данные, но если я использую «длинный путь» RSA, это работает ...
Теперь, это приложение никогда не было полностью завершено, поэтому я не поддерживаю такие вещи, как пары ключей DSA, но я поддерживаю пары ключей RSA с SHA1, MD5, используя IDEA, AES, (I THINK мой код 3DES не работает правильно, но я, возможно, исправил это с тех пор). Я еще не реализовал сжатие и т. Д. Но я хотел бы найти причину вернуться и снова поработать над этим кодом.
I / COULD / делает вас COM-объектом, который вы можете вызывать из VBA, передавая исходные данные Base64 вместе с данными ключа Base64 (или указателем на файл ключа на диске) и passpsshrase для декодирования файлов ....
Подумай об этом ... Дай мне знать ..
За прошедшие годы я собрал код vbScript для таких вещей, как MD5, SHA1, IDEA и другие крипто-подпрограммы, но я их не писал. Черт, вы, вероятно, могли бы просто взаимодействовать с CryptoAPI от Microsoft, разбивать каждое действие на его основные части и все же заставить его работать. (Вы не найдете вызов Micosoft CryptoAPI, такой как «DecryptPGP ()» ... Все это должно быть выполнено кусками).
Дай мне знать, смогу ли я помочь.