Назад | Перейти на главную страницу

Установка blowfish2 для использования в VIM на CentOS 7

Я перехожу с дистрибутива на основе Debian на CentOS 7. У меня есть файлы, зашифрованные с помощью blowfish, которые я прозрачно редактирую в VIM с помощью этого параметра в ~/.vimrc:

:set cryptmethod=blowfish2

Это ошибка, которую я получаю:

E474: недопустимый аргумент: cryptmethod = blowfish2

Однако я не могу найти подходящий пакет в CentOS. Я установил следующие пакеты, но все равно получаю сообщение об ошибке:

$ sudo yum install bcrypt cryptsetup-python libcryptui py-bcrypt 

Вот все пакеты, которые кажутся актуальными:

$ yum search bcrypt
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nonstop.co.il
 * epel: mirror.nonstop.co.il
 * extras: mirror.nonstop.co.il
 * updates: mirror.nonstop.co.il
============================= N/S matched: bcrypt ==============================
libcryptui-devel.i686 : Header files required to develop with libcryptui
libcryptui-devel.x86_64 : Header files required to develop with libcryptui
rubygem-bcrypt.x86_64 : Wrapper around bcrypt() password hashing algorithm
rubygem-bcrypt-doc.x86_64 : Documentation for rubygem-bcrypt
bcrypt.x86_64 : File encryption utility
cryptsetup-python.x86_64 : Python bindings for libcryptsetup
libcryptui.i686 : Interface components for OpenPGP
libcryptui.x86_64 : Interface components for OpenPGP
py-bcrypt.x86_64 : Python bindings for OpenBSD's Blowfish password hashing code

  Name and summary matches only, use "search all" for everything.

$ yum search blowfish
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nonstop.co.il
 * epel: mirror.nonstop.co.il
 * extras: mirror.nonstop.co.il
 * updates: mirror.nonstop.co.il
============================ N/S matched: blowfish =============================
perl-Crypt-Eksblowfish.x86_64 : Eksblowfish block cipher
php-horde-Horde-Crypt-Blowfish.noarch : Blowfish Encryption Library
php-pear-Crypt-Blowfish.noarch : Quick two-way blowfish encryption
php-phpseclib-crypt-blowfish.noarch : Pure-PHP implementation of Blowfish
py-bcrypt.x86_64 : Python bindings for OpenBSD's Blowfish password hashing code

  Name and summary matches only, use "search all" for everything

CentOS 7 поставляется с vim 7.4.160. Однако cryptmethod = blowfish2 требует vim 7.4.401 или новее.

И в любом случае вам, вероятно, следует использовать полное шифрование диска и более тщательно проверять криптографию, такую ​​как OpenPGP. Причина, по которой cryptmethod = blowfish2 существует с самого начала, заключается в том, что cryptmethod = blowfish был ужасно сломан. И это ни с чем не совместимо.

Проблема заключалась в том, что CentOS 7 поставляется с VIM 7.4.160, поскольку Майкл Хэмптон указывает, что нам нужно 7.4.401. В комментарии я упоминаю, как установить более позднюю версию VIM, вот полные инструкции для тех, кто может пойти по моим стопам. Вся заслуга Майкла в выявлении проблемы и этот Gist для правильной configure линия:

git clone https://github.com/vim/vim.git
cd vim/
./configure --prefix=/usr --with-features=huge --enable-rubyinterp --enable-pythoninterp
make
sudo make install