Как Послать Зашифрованные электронные письма Программно (от автоматизированного процесса)

"UPDATE klant SET Voorletters=:voorletters, Tussenvoegsel=:tussenvoegsel, Achternaam=:achternaam, Adres=:adres, Postcode=:postcode, Woonplaats=:woonplaats
    WHERE Gebruikersnaam = '$Gebruikersnaam'";

Вам не хватает кавычек в предложении WHERE. Вы должны использовать подготовленный оператор для этого, потому что ваш код открыт для внедрения SQL.

9
задан Mitch Wheat 20 November 2008 в 12:22
поделиться

4 ответа

Вы - логика, является правильным.

Типичное шифрование PKI:

cryptoAlgorithm(plaintext, public key) = ciphertext

cryptoAlgorithm(ciphertext, private key) = plaintext

Для некоторых алгоритмов алгоритм шифрования является той же процедурой, отправляя и получая.

Так... для каждого получателя Вам нужен их цифровой сертификат, который будет содержать их открытый ключ.

Устройство хранения данных сертификата GAL

Я думал бы, что будет возможно настроить GAL, чтобы позволить пользователям публиковать сертификаты. Мое общее впечатление - то, что то, как GAL настраивается и используется, варьируется от компании до компании.

S/MIME И PGP

Я соглашаюсь с сообщением, что S/MIME - то, что Вы хотите для Outlook.

Также отметьте - если Ваши пользователи будут использовать сеть Outlook, а не клиент Outlook, то они не смогут получить зашифрованные электронные письма. По крайней мере, по состоянию на 2000, но я подозреваю 2003 также. Это - огромная проблема удобства использования, и у меня нет хорошего обходного решения.

Генерал Microsoftyness

Microsoft имеет их собственный специальный способ сделать вещи (никакое ребячество...). Они не отличаются в мире PKI. Пользовательские сертификаты должны быть ясно отмечены с возможностью шифрования. Я знаю, что это должно иметь поле KeyUsage KeyEncipherment. И может быть еще одно расширение, требуемое Microsoft. Наличие неправильно отформатированного пользовательского сертификата могло означать, что получатель будет не мочь считать почту, когда это прибудет, потому что Outlook не договорится о том, что почта была зашифрована. Сэкономьте некоторое серьезное время интеграционного тестирования здесь и запланируйте поразить много групп пользователей о том, как сделать это. Каждый раз моя команда должна была интегрироваться с продуктом Microsoft, были противные неожиданности, особенно относительно того, как сертификат настроен.

Libraries & Tools

Я второй рекомендация для BouncyCastle - я не использовал его, но люди, которым я доверяю, клянутся им. Я лично любил инструментарий Phaos, когда я должен был записать этот материал, но я устарел. Я знаю, что это стоило серьезных денег и может быть слишком большим количеством удара для Вашего маркера.

OpenSSL является другим невероятным инструментом, и полезный для намного больше, чем SSL. Это является большим для генерации свидетельств об испытании, но я не могу помнить, делает ли это почтовое шифрование S/MIME также.

Для большинства библиотек необходимо смочь взять простой текст и сертификат, и поместить обоих в функцию, которая генерирует сообщение S/MIME. Они могут потребовать алгоритма шифрования также.

6
ответ дан 4 December 2019 в 15:28
поделиться

Необходимо отправить зашифрованную почту в Outlook в s/mime формате. Outlook не поддерживает PGP.

Запустите путем попытки отправить сообщение простого текста от Java и видеть, можно ли получить его в Outlook. Беспокойство о шифровании позже. Пользуйтесь библиотекой JavaMail, чтобы создать и послать электронные письма.

Я не знаю, как извлечь ключи из GAL. Является, вероятно, самым легким начаться путем экспорта ключа вручную и видеть, можно ли работать с ним.

Для создания зашифрованных писем в s/mime формате, я рекомендую замок Bouncy. Бодрый Замок является crypto-поставщиком, который также имеет поддержку s/mime. (Ищите пакет CMS/Smime). В загруженных источниках должны быть некоторые примеры. Я использовал его в прошлом для отправки электронных писем огромному количеству почтовых клиентов, включая Outlook, и это работает вполне прилично. Но заключитесь в фигурные скобки к материалу crypto - это может быть крутая кривая обучения!

2
ответ дан 4 December 2019 в 15:28
поделиться

В общем случае: чтобы отправить зашифрованное сообщение кому-то, Вам только нужен их открытый ключ. У Вас не должно быть ключа самих. Правило с асимметричным crypto - то, что шифруется с открытым ключом, может быть дешифрован с соответствующим закрытым ключом, и независимо от того, что шифруется с закрытым ключом, может быть дешифрован с соответствующим открытым ключом.

Вам будет нужен ключ для Вашего сервера, только если Вы хотите подписать сообщение.

Если Вы хотите сделать реализацию в Java, я не думаю, что JavaMail поддерживает шифрование из поля, но можно взглянуть на JavaMail-Crypto (не использовали его сам). Существует, предположительно, интерфейс JNI к GnuPG где-нибудь... И Вы всегда можете должностное лицо PGP или GnuPG с любого языка...

Я не знаю о поддержке PGP в Outlook, ни чем-либо еще о Outlook.

4
ответ дан 4 December 2019 в 15:28
поделиться

Протест, не отмеченный предыдущий, состоит в том, что GAL находится не обязательно на Exchange Server, и более часто находится на Доменном сервере, если не выполняется в автономном режиме. Сертификат будет найден в userCertificate атрибута LDAP или userSMIMECertificate.

1
ответ дан 4 December 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: