прочитать вложение шифрования файла .msg в java

У меня есть много файлов .msg с зашифрованным вложением. В настоящее время я использую библиотеку apache poi. В настоящее время у меня есть код, который указывает путь к файлу .docx, .xls, .xlsx, и я могу получить расшифрованный контент. Проблема в том, что я хочу расшифровать вложение файла msg.

public static void decryptMSG(String path,String[] password) throws IOException {
    MAPIMessage msg = new MAPIMessage(path);
    AttachmentChunks attachments[] = msg.getAttachmentFiles();
    if(attachments.length > 0) {
        for (AttachmentChunks a  : attachments) {
            String attachname=a.attachLongFileName.toString();
            ByteArrayInputStream fileIn = new ByteArrayInputStream(a.attachData.getValue());
            File f = new File(path+"_decrypted"+ a.attachLongFileName.toString()); // output
            OutputStream fileOut = null;
            try {
                fileOut = new FileOutputStream(f);
                byte[] buffer = new byte[2048];
                int bNum = fileIn.read(buffer);
                while(bNum > 0) {
                    fileOut.write(buffer);
                    bNum = fileIn.read(buffer);
                }   
            }
            finally{
                   .....
            }

Это обычный код для чтения вложений .msg, которые не зашифрованы.

В1: не могли бы вы сказать мне, где я могу установить пароль?

Q2: если библиотека не поддерживает установку пароля, можно ли скопировать AttachmentChunks в путь? Я имею в виду дать каждому вложенному фрагменту физический путь, где хранится вложенный фрагмент?

Q3: или если вы знаете, что какая-либо библиотека на java или python может решить расшифровку файла .msg, сообщите мне. Спасибо,


person printemp    schedule 31.07.2015    source источник


Ответы (1)


Вам необходимо создать EncryptionKey/EncryptionInfo (в зависимости от метода шифрования). Подробнее см. на этой странице.

person llogiq    schedule 31.07.2015