MyTetra Share
Делитесь знаниями!
Использоватние OpenSSL для шифрования и расшифровки файлов
Время создания: 25.12.2012 15:23
Раздел: Компьютер - Linux - Безопасность
Запись: xintrea/mytetra_syncro/master/base/1356434621w3kt22ujv3/text.html на raw.github.com

Утилита OpenSSL существует под все основные операционные системы.

Утилита работает как в режиме обработки переданных параметров, так и имеет собственный командный режим (консоль).

Получение помощи

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

$ OpenSSL -h

Здесь "-h" - несуществующая опция. В ответ будет выведено:

openssl:Error: '-h' is an invalid command.

Standard commands

asn1parse ca ciphers crl crl2pkcs7

dgst dh dhparam dsa dsaparam

enc engine errstr gendh gendsa

...

Чтобы получить помощь по интересуемой команде, нужно поступить таким же образом:

$ openssl enc -h

unknown option '-h'

options are

-in <file> input file

-out <file> output file

-pass <arg> pass phrase source

-e encrypt

-d decrypt

-a/-base64 base64 encode/decode, depending on encryption flag

-k passphrase is the next argument

-kfile passphrase is the first line of the file argument

-md the next argument is the md to use to create a key

from a passphrase. See openssl dgst -h for list.

-K/-iv key/iv in hex is the next argument

-[pP] print the iv/key (then exit if -P)

-bufsize <n> buffer size

-engine e use engine e, possibly a hardware device.

Cipher Types

-aes-128-cbc -aes-128-cfb -aes-128-cfb1

-aes-128-cfb8 -aes-128-ecb -aes-128-ofb

-aes-192-cbc -aes-192-cfb -aes-192-cfb1

-aes-192-cfb8 -aes-192-ecb -aes-192-ofb

-aes-256-cbc -aes-256-cfb -aes-256-cfb1

-aes-256-cfb8 -aes-256-ecb -aes-256-ofb

-aes128 -aes192 -aes256

-bf -bf-cbc -bf-cfb

-bf-ecb -bf-ofb -blowfish

-cast -cast-cbc -cast5-cbc

-cast5-cfb -cast5-ecb -cast5-ofb

-des -des-cbc -des-cfb

-des-cfb1 -des-cfb8 -des-ecb

-des-ede -des-ede-cbc -des-ede-cfb

-des-ede-ofb -des-ede3 -des-ede3-cbc

-des-ede3-cfb -des-ede3-ofb -des-ofb

-des3 -desx -desx-cbc

-rc2 -rc2-40-cbc -rc2-64-cbc

-rc2-cbc -rc2-cfb -rc2-ecb

-rc2-ofb -rc4 -rc4-40

где "enc" - это команда OpenSSL, а "-h" - несуществующая опция.

Шифрование и дешифровка файла

Шифрование файла выполняется следующей командой:

openssl enc -e -aes-256-cbc -pass pass:PASSWORD -in INFILE -out OUTFILE

Дешифровка файла происходит так:

openssl enc -d -aes-256-cbc -pass pass:PASSWORD -in INFILE -out OUTFILE

  • Опция -e обозначает Encrypt, то есть зашифровку.
  • Опция -d обозначает Decrypt, то есть расшифровку.
  • Опция -aes-256-cbc обозначает режим шифрования.
  • Опция -pass задает пароль (здесь сам пароль-PASSWORD). Часть опции "pass:" обозначает режим получения пароля непосредстванно в команде. Пароль так же может быть получен из переменной окружения, из файла, из файлового дескриптора (!), из стандартного потока. Подробнее написано в man-е.
  • Опции -in и -out задают входной и результирующий файл.

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования