Я работаю в Visual Studio 2012 над созданием относительно простой надстройки для Outlook 2010. Машины Win 7 Enterprise 32 и 64. Целью надстройки является расшифровка сообщений электронной почты непосредственно в папке «Входящие» пользователя, чтобы они могли можно легко найти в архивах .pst или сохранить в сетевых папках в виде незашифрованных файлов .msg. Электронные письма шифруются с использованием x.509 PKI с закрытыми ключами, хранящимися на смарт-карте, которая запрашивает у пользователя PIN-код каждый раз, когда открывается зашифрованное электронное письмо. Это то, что у меня есть до сих пор:
private void buttonDecrypt_Click(object sender, RibbonControlEventArgs e) {
currentExplorer = Globals.ThisAddIn.Application.ActiveExplorer();
if (currentExplorer.Selection.Count > 0) {
for (int i = 0; i < currentExplorer.Selection.Count; i++) {
Object selObject = currentExplorer.Selection[i+1];
if (selObject is Microsoft.Office.Interop.Outlook.MailItem) {
Microsoft.Office.Interop.Outlook.MailItem mailItem =
(selObject as Microsoft.Office.Interop.Outlook.MailItem);
mailItem.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x6E010003", 0);
mailItem.Save();
}
}
}
}
Если я вручную открою зашифрованное электронное письмо в Outlook, мне будет предложено ввести мой PIN-код, который позволяет нормально открывать электронное письмо. Затем, если я закрою электронное письмо и нажму свою новую кнопку на ленте, оно сделает именно то, что я хочу, повторно сохранив электронное письмо в незашифрованном виде прямо в моем почтовом ящике. Однако, если я выберу сразу несколько электронных писем или не открою сообщение вручную, мой код выдаст ошибку mailItem.PropertyAccessor.Setproperty()
с сообщением COMException was unhandled by user code: Your Digital ID name cannot be found by the underlying security system.
. Это говорит мне о том, что мне нужен способ запросить у пользователя PIN-код перед попыткой открыть Эл. адрес.
can be easily searched in .pst archives
не в ладах сprompts the user for a PIN each time an encrypted email is opened
- person Peter M   schedule 19.12.2014