2010-06-10 5 views
1

Я пытаюсь добавить специальную обработку для emacs для обработки зашифрованных файлов Triple-DES (любой файл с расширением .des3 считается действительным зашифрованным текстовым файлом).Расширение Emacs для редактирования зашифрованных текстовых файлов

Мой подход состоит в добавлении форматировать-ассоциативный список, например, так:

(setq format-alist 
     (cons (list 'des3 "Triple-DES encrypted files" 
      ".*\.des3" "show" "" t nil) 
      format-alist)) 

Где показать следующая Сценарий командной строки (проверено работает из командной строки):

#!/bin/sh 
openssl des3 -d -in $1 

Ожидаемое: При открытии файла .des3 мне будет предложено ввести пароль (по показу), а затем просмотреть контекст открытого текста в буфере emacs. [Примечание: Я также добавить сохранения/шифровать позже, но сейчас я хочу, чтобы получить открытую работу]

Фактическими: При открытии .des3 файла, я не получаю приглашение от показать или любое указание, что шоу было вызвано, и буфер содержит зашифрованное содержимое файла.

+0

Вы когда-нибудь закончили писать свой код для использования Emacs с OpenSSL? –

+0

Нет, он скользнул довольно далеко вниз по моему списку дел. Но я смогу опубликовать что-нибудь актуальное, когда я вернусь, чтобы закончить его. – Greg

+0

Регулярное выражение ''. * \. Des3 "' совпадает с теми же строками, что и '.des3" ', т. Е. Любая строка с' des3' внутри и по крайней мере один символ до этого. Вероятно, вы хотите использовать '' \\. Des3 \\ '"'. который соответствует только имени, которое заканчивается на '.des3'. – Stefan

ответ

3

format-alist прилагается к файлу содержание, а не его название. Я думаю, вы хотите вместо этого file-name-handler-alist. См. Making Certain File Names "Magic" в руководстве Emacs для получения дополнительной информации.

1

Вы хотите посмотреть на ps-ccrypt.el для вдохновения. Это пакет, который интегрируется с ccrypt. Он делает то, что вы хотите для .cpt-файлов.

+0

Спасибо, этот пример полезен. – Greg

0

Взгляните на эту крипту ++ эл с изменениями, упомянутыми в:.

https://github.com/tphan88/EmacsOpenSSLCrypt

Вы можете добавил свою собственную команду шифрования/дешифрования, если вы знаете, как определить «файл магическое» число.

THA EmacsOpenSSLCrypt жестко закодированная строка для проверки расшифровки.

Смежные вопросы