Приложению microsoft outlook не удается подписать или зашифровать сообщение
Outlook не видит Имя конфигурации S-MIME-00
Всем привет сегодня расскажу как решается такая ситуация, что Outlook не видит Имя конфигурации S/MIME. Был выпущен токен для подписывания и шифрования почты, etoken был благополучно установлен и виделся. По идее если с сертификатом все ок, то S/MIME должна настроиться автоматом и увидеть данный сертификат, но сертификат в аутлуке не виделся хоть убей, открытый ключ успешно был установлен и в оснастке certmgr.msc виделся. Смотрим в чем была проблема.
Вот так вот выглядит отсутствие сертификата в S/MIME. Хотя токен должен был автоматом прописаться в имени конфигурации
Outlook не видит Имя конфигурации S-MIME-01
При попытке создать конфигурацию вручную при отправке подписанного письма мы получили вот такую ошибку
Outlook не видит Имя конфигурации S-MIME-02
Первое что нужно сделать это проверить одинаковы ли настроенная почта в Outlook и в ЭЦП на etoken. В аутлуке идем Сервис-Настройка Учетных записей.
Outlook не видит Имя конфигурации S-MIME-02-0
Проверяем адрес почты в настройках и сравниваем его с полем E в составе сертификатов.
Outlook не видит Имя конфигурации S-MIME-02-1
Идем в Состав и проверяем, в моем случае оказалось что при выпуске сертификата после email поставили пробел и из-за этого и было различие, как только сертификат перевыпустили, то все сразу стало ок.
Outlook не видит Имя конфигурации S-MIME-03
Вот так вот просто решается ошибка Outlook не видит Имя конфигурации S-MIME.
Вначале создадим персональный сертификат, содержащий вышеуказанные сертификаты, открытый и закрытый ключи, а также другую информацию. Запускаем программу, переходим на вкладку Ключи и сертификаты, выбираем Создать, заполняем необходимые поля и жмем Далее:
Произойдет генерация ключей, создание сертификатов и их запись в базу данных программы. Если была выбрана опция Опубликовать после создания, сертификат будет опубликован на сервере CyberSafe, где ваш открытый ключ будет доступен для скачивания другим пользователям.
Теперь экспортируем необходимые нам для работы с Outook сертификаты в отдельные файлы:
Сертификаты в CyberSafe создаются на основе библиотеки OpenSSL, код создания сертификата приведен ниже:
procedure TOpenSSL.CreateSignedCert(const FileName: String; OutFiles: TStringList;
const Password: String;
ValidDays: Integer; KeySize: Integer; const ExtendedKeyUsage: String;
const CommonName, Email, Organization, OrganizationalUnit, Country: String;
const CAFileSpec, CAPFXFileSpec, CAPrivateKeyPassword: String;
ARandomFileSpec: String = '';
ProgressProc: TProgressProc = nil; LogMsgProc: TLogMsgProc = nil);
var
TmpPrivateKeyFileSpec, TmpPublicKeyFileSpec: String;
TmpCerFileSpec, TmpPfxFileSpec, TmpCsrFileSpec, TmpCASerialFileSpec, TmpExtFileSpec, TmpPemFileSpec: String;
TmpCAPrivateKeyFileSpec: String;
Subj: String;
TempDir: String;
Aborted: Boolean;
WasError: Boolean;
OutPublicKeyFileSpec: String;
begin
WasError := True;
TempDir := GetTempDir;
try
CheckIsFileExists(CAFileSpec);
// Извлекаем приватный ключ из корневого сертификата
TmpCAPrivateKeyFileSpec := TempDir + ChangeFileExt(ExtractFileName(CAPFXFileSpec), '') + '.privateKey.pem';
ExportPrivateKeyFromPfx(CAPFXFileSpec, TmpCAPrivateKeyFileSpec, CAPrivateKeyPassword);
// Все файлы создаем во временном каталоге, и только после успешного создания всех — // переносим на место постоянного хранения
TmpPrivateKeyFileSpec := TempDir + FileName + '.privateKey.pem';
TmpPublicKeyFileSpec := TempDir + FileName + '.publicKey.pem';
TmpCerFileSpec := TempDir + FileName + '.cer';
TmpPemFileSpec := TempDir + FileName + '.pem';
TmpPfxFileSpec := TempDir + FileName + '.pfx';
TmpCsrFileSpec := TempDir + FileName + '.csr';
TmpCASerialFileSpec := TempDir + FileName + '.srl';
Subj := GetSubj(CommonName, Email, Organization, OrganizationalUnit, Country);
Aborted := False;
if Assigned(ProgressProc) then
ProgressProc(13, 4, Aborted, Format('%s (%d %s). ', [StKeysGenerate, KeySize, StBit]));
if Aborted then
Exit;
CreatePrivateKey(TmpPrivateKeyFileSpec, TmpPublicKeyFileSpec, KeySize, ARandomFileSpec);
if Assigned(ProgressProc) then
ProgressProc(13, 5, Aborted, Format('%s. ', [StGenerateCertificate]));
if Aborted then
Exit;
if Assigned(ProgressProc) then
ProgressProc(13, 6, Aborted, Format('%s. ', [StCreateCertificateRequest]));
// Создаем запрос — .csr
RunOpenSSLConsole(Format(
'req -new -key "%s" -out "%s" -days %d -subj %s',
[TmpPrivateKeyFileSpec, TmpCsrFileSpec, ValidDays, Subj]
), True, nil, nil);
if Assigned(ProgressProc) then
ProgressProc(13, 7, Aborted, Format('%s. ', [StCreateExtensionsFile]));
if Assigned(ProgressProc) then
ProgressProc(13, 8, Aborted, Format('%s. ', [StCreateSignedCertificate]));
// На основе запроса создаем сертификат, подписаный корневым сертификатом
RunOpenSSLConsole(Format(
'x509 -req -days %d -passin pass:%s -in "%s" -CAform DER -CA "%s" -CAkey "%s" -CAserial "%s" -CAcreateserial -out "%s" -outform DER -extfile "%s"',
[ValidDays, Password, TmpCsrFileSpec, CAFileSpec, TmpCAPrivateKeyFileSpec, TmpCASerialFileSpec, TmpCerFileSpec, TmpExtFileSpec]
), False, nil, nil);
if Assigned(ProgressProc) then
ProgressProc(13, 9, Aborted, Format('%s. ', [StConvertCertificate]));
// Конвертируем cer => pem для следующей крманды экспорта в pfx
RunOpenSSLConsole(Format(
'x509 -in "%s" -inform DER -out "%s" -outform PEM',
[TmpCerFileSpec, TmpPemFileSpec]
), False, nil, nil);
if Assigned(ProgressProc) then
ProgressProc(13, 10, Aborted, Format('%s. ', [StCreatePFX]));
// Делаем pfx из полученного pem и ключей
RunOpenSSLConsole(Format(
'pkcs12 -password pass:%s -export -in "%s" -inkey "%s" -name "%s" -out "%s"',
[Password, TmpPemFileSpec, TmpPrivateKeyFileSpec, FileName, TmpPfxFileSpec]
), False, nil, nil);
OutPublicKeyFileSpec := TmpPublicKeyFileSpec + '.signed';
if Assigned(ProgressProc) then
ProgressProc(13, 11, Aborted, Format('%s. ', [StExportPublicKey]));
ExportPublicKeyFromPfx(TmpPfxFileSpec, OutPublicKeyFileSpec, Password);
// А результат добавляем в список файлов
OutFiles.Add(TmpCerFileSpec);
OutFiles.Add(TmpPfxFileSpec);
OutFiles.Add(TmpPrivateKeyFileSpec);
OutFiles.Add(TmpPublicKeyFileSpec);
OutFiles.Add(OutPublicKeyFileSpec);
WasError := False;
finally
// Удаляем временные файлы
if WasError then
begin
CheckDeleteFile(TmpCerFileSpec);
CheckDeleteFile(TmpPfxFileSpec);
CheckDeleteFile(TmpPrivateKeyFileSpec);
CheckDeleteFile(TmpPublicKeyFileSpec);
CheckDeleteFile(OutPublicKeyFileSpec);
end;
CheckDeleteFile(TmpCsrFileSpec);
CheckDeleteFile(TmpCASerialFileSpec);
CheckDeleteFile(TmpExtFileSpec);
CheckDeleteFile(TmpPemFileSpec);
CheckDeleteFile(TmpCAPrivateKeyFileSpec);
end;
end;
Далее открываем Outlook и идем: Файл > Параметры > Центр управления безопасностью > Параметры центра управления безопасностью > Защита электронной почты. В разделе Шифрованная электронная почта отмечаем галками пункты:
На этом, в принципе, все:). Однако давайте убедимся в том, что у нас все работает правильно и выполним проверку шифрования “на себя”.
Создадим новый контакт. Идем Главная > Контакты > Создать контакт. На вкладке Общие достаточно заполнить поля Полное имя и Эл. почта, после чего переходим на вкладку Сертификаты, где нажимаем Импорт:
В проводнике Windows находим свой сертификат в формате *.cer
Если отправленное письмо не отображается во входящих, перейдите на вкладку Отправка и получение и нажмите Обновить папку.
Проверка функции шифрования “на себя” выполнена.
Получив такое письмо от другого пользователя добавляем его в Контакты (Адресную книгу). Далее необходимо экспортировать X.509 сертификат пользователя в файл и установить его в хранилище Windows. Для этого в поле с общей информацией о письме нажимаем на значок цифровой подписи и выбираем Сведения > Подробности > Показать сертификат > Состав > Копировать в файл и следуем инструкциям Мастера экспорта сертификатов. Экспортированный сертификат добавляем к контакту пользователя также, как мы делали это при проверке функции шифрования “на себя”.
В завершении хотелось бы добавить, что сделать свой открытый ключ доступным для других пользователей можно опубликовав его на публичных серверах ключей, таких как сервер CyberSafe. Естественно, там также можно попробовать найти открытые ключи интересующих вас пользователей, не дожидаясь, пока они вам их пришлют.
Поэтому в таком случае подлинность открытого ключа должна быть проверена по его электронному отпечатку. Один из самых простых способов сверить отпечаток – созвониться с владельцем открытого ключа по скайпу или по телефону.
Уже несколько раз встречался с багом Outlook разных версий, когда перестает работать кнопка создания подписи. Сколько раз не нажимай на кнопку Подпись, окно создания подписи не появляется.
В это раз баг проявился в свеже-установленной RTM версии Outlook 2016. При попытке нажать на кнопку «Подпись» в меню Файл -> Параметры -> Почта ничего не происходит, окно с настройками подписи не появляется.
Восстановление, удаление, очистка реестра и переустановка также Office не помогают. Как настроить подпись пользователю в этом случае?
В одной из предыдущих статей мы рассказывали, как автоматически сформировать подпись в Outlook на основе данных пользователя из Active Directory. Там мы упомянули, что в Windows 7 и выше файлы с подписями Outlook хранятся в профиле пользователя в каталоге %APPDATA%\Microsoft\Signatures (C:\Users\username\AppData\Roaming\Microsoft\Signatures). Поэтому, если вы сформируете HTML/RTF/TXT файл с текстом подписи и поместите его в указанный каталог, то при создании нового письма в Outlook или ответе на письмо, вы можете вставлять вашу подпись с помощью соответствующей кнопки в интерфейсе Outlook (Outlook нужно перезапустить).
Но это довольно неудобно, каждый раз нужно вручную вызывать кнопку подписи. Можно выставить этот файл с подписью в качестве подписи по-умолчанию через реестр. Для этого нужно удалить параметр First-Run в ветке HKCU\Software\Microsoft\Office\<Версия Office>\Outlook\Setup и создать 2 строковых параметра NewSignature и ReplySignature в ветке HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\MailSettings (для Outlook 2016) в качестве значения данных параметров нужно указать имя файла с подписью.
Но это тоже по сути костыль.
Если это не помогло, на технических форумах я нашел мнения, что проблема с подписью часто возникает после миграции почты в другой домен или на компьютерах с предустановленным Office.
Чтобы заработала кнопка подписи, попробуйте:
В следующих ветках реестра (на x64 и x86 версиях Office соответственно) нужно изменить значения параметров Default и LocalServer32 на полный путь к файлу outlook.exe в вашей системе (например, для Outlook 2016 на C:\Program Files (x86)\Microsoft Office\Office16\Outlook.exe):
Если данный метод не сработал, попробуйте применить следующий reg-файл (для Office 2016 или Office 365):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Outlook.Application]
@="Microsoft Outlook 16.0 Object Library"
[HKEY_CLASSES_ROOT\Outlook.Application\CLSID]
@=""
[HKEY_CLASSES_ROOT\Outlook.Application\CurVer]
@="Outlook.Application.16"
[HKEY_CLASSES_ROOT\Outlook.Application.16]
@="Microsoft Outlook 16.0 Object Library"
[HKEY_CLASSES_ROOT\Outlook.Application.16\CLSID]
@=""
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\]
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\\InprocServer32]
"Assembly"="Microsoft.Office.Interop.Outlook, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
"Class"="Microsoft.Office.Interop.Outlook.ApplicationClass"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\\InprocServer32\16.0.0.0]
"Assembly"="Microsoft.Office.Interop.Outlook, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
"Class"="Microsoft.Office.Interop.Outlook.ApplicationClass"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\\LocalServer32]
@="C:\\Program Files\\Microsoft Office\\Office16\\OUTLOOK.EXE"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\\ProgID]
@="Outlook.Application.16"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\\Typelib]
@=""
Если проблема возникает в Office 2010, замените 16 на 14, если в Outlook 2013 – на 15.
Почему вы должны использовать шифрование PGP с Outlook?
Являетесь ли вы большим поклонником Outlook или просто долгосрочным пользователем, который не может быть обеспокоен изменениями, вы можете заботясь о безопасности и конфиденциальности ваших электронных писем. Во время утечки данных и постоянно растущей киберпреступности важно задуматься о безопасности ваших онлайн-коммуникаций..
Что подводит нас к сути: Outlook сохраняет ваши электронные письма в безопасности?
Ответ звучит «нет», но это не совсем что-то уникальное для Outlook. Конечно, она принадлежит Microsoft, огромной компании, которая собирает данные о клиентах и на протяжении многих лет сомнительно относится к конфиденциальности. Хотя это не в пользу Microsoft, реальная проблема заключается в самой электронной почте.
Как вы делаете вашу электронную почту безопасной?
Преимущества & недостатки использования PGP-шифрования в Outlook
Для начала, основным недостатком Pretty Good Privacy (PGP) является то, что он не встроен в Outlook. Так зачем тогда его использовать? Потому что другие варианты имеют свои недостатки, а также.
Безопасные / Многоцелевые Расширения Почты Интернета (S / MIME) могут быть боль настроить, необходимы отдельные конфигурации SSL-сертификатов для каждого клиента. Сертификаты также, как правило, стоят денег, что является еще одним недостатком.
Другая проблема с каждым из этих типов шифрования заключается в том, что они возникают в среде Microsoft. Хотя спорным является вопрос о том, насколько это проблематично, тем, кто не доверяет техническим гигантам, возможно, будет удобнее шифровать свою электронную почту в другом месте, гарантируя, что у Microsoft нет возможности получить к ней доступ..
Это возвращает нас к шифрованию PGP. Хотя для настройки в Outlook требуется определенное усилие, у PGP есть много преимуществ. Это с открытым исходным кодом и бесплатно, используя стандарт, который работает с широким спектром программ. Он также работает на децентрализованная модель это дает своим пользователям широкий выбор, когда дело доходит до того, как их информация будет зашифрована и как они хотят доверять другим пользователям.
Если вы используете шифрование PGP с Outlook?
Все зависит от вашего уровня угрозы. Если вы обычный человек без слишком большого количества ценных секретов или цели на спине, то эта установка, вероятно, подойдет. Если у вас есть более серьезные вопросы конфиденциальности или вы имеете дело с чрезвычайно важной и ценной информацией, лучше использовать Gnu Privacy Guard (GPG) с почтовым клиентом, таким как Thunderbird, работающим через Enigmail..
Как настроить & использовать шифрование PGP с Outlook
Теперь, когда вы понимаете, почему шифрование PGP важно, пришло время приступить к работе. Первым шагом для его установки является загрузка Gpg4win. Это пакет инструментов шифрования с открытым исходным кодом для Windows. Он включает в себя Gnu Privacy Guard, которая является основной программой шифрования, а также некоторые менеджеры сертификатов, плагины и руководство пользователя..
В этом уроке мы будем использовать Gnu Privacy Guard, менеджер сертификатов под названием Kleopatra и плагин GpgOL, который является расширением для Microsoft Outlook. Все они предоставляются бесплатно в пакете загрузки. Чтобы начать, перейдите на Gpg4win и нажмите большую зеленую кнопку слева, которая говорит Загрузить Gpg4win, с последующим номером версии:
После того, как вы нажмете на загрузку, вы попадете на следующий экран, где вам будет предложено сделать пожертвование:
Вы будете переведены на следующую страницу, пока будете ждать ее загрузки:
После завершения загрузки, Двойной клик в теме. Если вы видите всплывающее окно с вопросом, хотите ли вы разрешить программе вносить изменения, нажмите да. Вы попадете в другое всплывающее окно, которое попросит вас выбрать язык. Выберите обычный вариант или выберите норвежский, если хотите сделать настройку более сложной:
Выбрать Ладно, затем нажмите следующий на следующем экране:
Уже проверенные элементы - это все, что вам нужно для настройки шифрования PGP с помощью Outlook, но вы можете щелкнуть другие поля, если хотите загрузить GPA и Интеграция браузера также. Выбрать Следующий:
Затем выберите папку, в которой вы хотите установить Gpg4win, или продолжите установку по умолчанию:
Программа займет немного времени для установки. Когда это будет сделано, вы попадете на эту страницу:
щелчок следующий, который доставит вас сюда:
щелчок Конец для автоматического запуска Kleopatra, который вам понадобится для настройки вашего открытого и закрытого ключей.
Настройка вашей пары ключей
Клеопатра дает вам два основных варианта, Новая пара ключей или импорт. В этой статье предполагается, что вы новичок в PGP и сосредоточены на создании ключей для вас. Если это так, то выберите Новая пара ключей. Если вы уже являетесь пользователем, который хочет импортировать свои собственные ключи, то не стесняйтесь нажимать импорт и следуйте инструкциям:
Введите свое имя и адрес электронной почты, затем нажмите следующий. Если вы более технический пользователь, не стесняйтесь заходить в Расширенные настройки, но они выходят за рамки этого урока:
Затем вам будет предложено просмотреть параметры. Если ваше имя и адрес электронной почты верны, нажмите Создайте. Программа сгенерирует пару ключей за пару секунд, затем вы увидите всплывающее окно, которое попросит вас ввести ключевую фразу:
Убедитесь, что вы ввели надежный и уникальный пароль. Если вы используете слабый пароль или тот же, который вы используете для каждой учетной записи, это может полностью подорвать безопасность использования PGP. Если вы не знаете, как найти надежный пароль, ознакомьтесь с нашим руководством по созданию надежных паролей..
Смотрите также: Генератор паролей
После того, как вы ввели надежный пароль, нажмите Ладно. Вы попадете на следующую страницу:
Лучше всего сохранить какую-то запись вашей пары ключей, поэтому выберите любой из трех вариантов, который вам больше подходит. щелчок Конец как только вы сделали резервную копию. Теперь вы вернетесь в главное окно Клеопатры, где увидите только что созданный сертификат..
Чтобы получить доступ к вашему открытому ключу, щелкните правой кнопкой мыши в любом месте на панели, где указаны ваше имя и адрес электронной почты. Выберите опцию в раскрывающемся меню, которое говорит экспорт:
Сохраните файл в удобном месте на вашем компьютере:
После этого откройте текстовый редактор, такой как WordPad. Выбрать файл, тогда открыто искать файл, который вы только что сохранили. Возможно, вам придется перейти в меню, которое появляется над открыто кнопка в правом нижнем углу. Выбрать Все документы из раскрывающегося меню, затем выделите файл. Двойной клик в теме.
Это открывает ваш открытый ключ:
Дайте свой открытый ключ любому, с кем вы хотели бы иметь возможность безопасно общаться. Вы также можете опубликовать его на серверах открытых ключей, таких как этот, чтобы другие могли его найти.
Выберите место для сохранения, а также установите флажок с надписью ASCII броня. Вам нужно будет ввести пароль, который вы создали ранее, чтобы экспортировать ваш секретный ключ, затем нажмите Ладно:
Добавление вашего получателя
Если у вас уже есть открытый ключ, нажмите на импорт Кнопка в левом верхнем углу. Найдите открытый ключ получателя в ваших файлах и затем нажмите открыто.
Чтобы найти чей-то открытый ключ, нажмите на Поиск на сервере кнопка вместо:
Введите их имя или адрес электронной почты, затем нажмите Войти:
Если вы найдете, кого ищете, нажмите на его имя, а затем выберите импорт кнопка внизу. Появится всплывающее окно с просьбой подтвердить контакт:
Это сделано для того, чтобы ключ PGP действительно принадлежал тому, кто говорит, что это так. щелчок да а затем сертифицируйте их с помощью любого из методов, которые вам подходят.
После того, как вы сертифицировали получателя, установите флажок человека, которого вы хотите сертифицировать, а также флажок с надписью Я проверил отпечаток пальца, затем нажмите Далее:
На следующем экране вы можете выбрать, хотите ли вы сертифицировать сертификат только для себя или для всех. Если у вас есть высокая степень доверия к тому, что открытый ключ принадлежит тому, кто говорит, что это так, вы можете установить флажок, на котором написано Подтвердите, чтобы все могли видеть. В противном случае, вероятно, лучше нажать Подтверждаю только для себя, а затем ударил Certify:
Вам нужно будет ввести пароль, затем выберите Конец:
Получатель теперь будет добавлен в Клеопатру.
Отправка зашифрованной электронной почты PGP через Outlook
Хит послать и ваше первое зашифрованное письмо PGP будет на пути к получателю.
Как расшифровать ваши письма PGP в Outlook
Объединение Outlook и PGP может занять некоторое время для настройки, но как только вы настроите его, вы сможете легко поддерживать безопасность связи, когда вам это нужно..
Смотрите также: Криптография с открытым ключом
Microsoft Outlook Logo по лицензии Microsoft под СС0
Читайте также: