id: Гость   вход   регистрация
текущее время 00:01 14/12/2024
Автор темы: Ejovnik, тема открыта 30/11/2014 18:20 Печать
Категории: криптография, софт, gnupg, openpgp, шифрование с открытым ключом, эцп, управление ключами, стандарты
http://www.pgpru.com/Форум/РаботаСGnuPG/КакИзменитьКлючДляШифрованияИПодписи
создать
просмотр
ссылки

Как изменить ключ для шифрования и подписи


Разбираюсь в работе с GnuPG без GUI. Сгенирировал 2 пары ключей. Командами шифрования и подписи используется первый созданный секретный ключ. Подскажите пожалуйста, как зашифровать или подписать другим ключом?


P.S. Использовал опции default-key [key_id] и local-user [key-id], не разобрался как их использовать. После выполнения команды с этой опцией появляется приглашение ввести какой-то текст, а после завершения ввода текста – ошибка.


 
На страницу: 1, 2, 3, 4 След.
Комментарии
— unknown (30/11/2014 22:45, исправлен 30/11/2014 22:48)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Обычно шифруется (под)ключом получателя, подписывается ключом отправителя. Если даже для подписи как-то можно выбрать неумолчальный вариант, то для шифрования получателю лучше выбрать умолчальный. По умолчанию будет использоваться подходящий с т.з. программной реализации подключ основного ключа.


Если не интересуют тонкости работы с подключами, а только с ключами, то в общем виде всё как-то так:


gpg -v --armor --default-key [myUID] --encrypt-to [RecipientUID] --hidden-recipient [HiddenRecipientUID] --encrypt --sign

— Гость (01/12/2014 00:57)   <#>
Можно короче:

gpg -v -R KeyID-кому -u 0xXXXXXXXX! -es file

Шифровать ещё и себе — это только если кто-то сильно хочет. Армор-вывод сильно удлинняет размер файла и обычно ненужен. --default-key и --encrypt-to — слишком глобальные опции, лучше делать вручную через -u. 0xXXXXXXXX — keyid главного ключа связки или конкретного подключа подписи, которым хочется подписать. Мне попадались случаи, когда получатель с -R не мог расшифровать файл, и потому приходилось перешифровывать стандартным образом.
— ressa (01/12/2014 01:08, исправлен 01/12/2014 01:09)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

Коллеги, прислушался несколько лет назад к Вашим советам освоить консоль. Логику понял, мнение свое изменил, на своем дилетантском уровне – освоил. Но блин, я не пойму логику использования консоли в GPG, ну т.е. всякие gpg -c/-e/-s/-d – да, порой так быстрее, особенно дешифровывать присланные файлы. Но вот шифровать (использую плагин seahorse), или вбивать вручную все эти 0xXXXXXXXX получателей – да я же офигею.. из за этого у меня пробел с подключами, хотелось бы наверстать. Вы все используете gpg в консоли? ну т.е. прям мне просто взять и принудительно перейти на консоль полностью и потом уже сноровка придет?
UPD: Движок ошибку выдает: "openSpace DBAL error: SQL query failed.", несколько раз подряд.

— Гость (01/12/2014 16:39)   <#>

Да, только консоль предварительно должна быть настроена: подцветка, хороший конфиг для zsh, для screen/tmux, для других тулзов и т.д. Работать в сырой дефолтной консоли, конечно, можно, но не так удобно, как в настроенной.


Не вручную, а можно копипастить либо мышкой, либо средствами мультиплексора (screen или tmux) — это если вообще вбивать, а так можно не указывать ничего, и тогда gpg само спросит, кому шифровать. По крайней мере, с обычным получателем (-r) это так. Можно будет указать не keyid, а любую часть uid'а получателя (например, логин в мыле), и этого будет достаточно. Если кому-то шифруется часто, можно сделать специальный алиас в шелле, чтоб не набирать одну и ту же команду по многу раз с риском очередной раз ошибиться.
— ressa (01/12/2014 18:56)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59
Гость (01/12/2014 16:39)
Спасибо за ответ.
Можно чуть подробнее, пожалуйста.
Ну т.е. я могу почту адресата указать? А она tab'аться будет?
— Гость (02/12/2014 18:40)   <#>

Выкладывать конфиги, что ли?


Да, но это излишне. Если адрес — ressa@fsb.ru, то достаточно будет указать fsb или res (любую подстроку uid'а).


Насколько я знаю, нет.
— unknown (03/12/2014 09:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Если UID по неполной строке (почта, ник и т.д.) даёт неоднозначный выбор адресата, то вместо таба этот выбор вариантов как-то отображается и подтверждается пользователем. Давно не сталкивался с этим, может там даже и были какие-то подводные камни, что возникла привычка указывать однозначный цифровой UID.
— ressa (03/12/2014 16:51, исправлен 03/12/2014 16:52)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

Господа, так какой алгоритм действий? Такой, примерно:

И так действительно в разы быстрее?


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


Я был бы рад перенять опыт и заодно прокачать скиллы в консоле, потому, что указанные тобой "примочки" для меня вообще в новизну. Не пользовался ни разу. И консоль тоже не настраивал, единственно в стандартных настройках буфер консоли неограниченный делаю на всякий случай, чтобы потом найти что-нить, хотя и не пригождалось еще.

— unknown (03/12/2014 17:35)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
— ressa (03/12/2014 17:57, исправлен 03/12/2014 18:21)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

unknown, а прокомментируй пожалуйста вот это: 1 | awk {'print $2'} | awk -F \/ {'print $2'}`
Хотя если не сложно – то с grep'a, а то я не вьехал – зачем грепать, если уже имя ввел. А дальше и вовсе ничего не понял..
Я правильно понимаю, что один раз выстроил для себя и потом либо алиасы создаешь, либо табаешь, или нужно постоянно печатать подобные строки? Я же не кодер, это мне учить и учить в таком случае, а задача – экономить время и по пути навыки оттачивать.
UPD: А ну понятно, что за AWK, тогда я точно далек от этого, сколько ни пробовал любой мало-мальски простенький язык выучить – видимо не дано мне это..( Даже здесь ума не приложу, откуда берется эта $2. Это же переменная? Ты ее где-то объявлял что-ли? Нет. Откуда она и что интерпритатору печатать – я не понимаю.. Или это какая-то встроенная в язык переменная,которая выведет вторые поля grep?

— Гость (04/12/2014 02:52)   <#>

Конфиги выкладывать — это долго и неанонимно. :-) Unknown вот никогда не выкладывает.


cat << END >> $HOME/.zshrc
alias gpg_ressa='gpg [опции и параметры]'
END
zsh
gpg_ressa /path/to/file
Оно всё сделает. В этом был примерно смысл.
— unknown (04/12/2014 09:46)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Это был юмор такой, всякие значки-запятые-скобочки — это смайлики :)
— ressa (04/12/2014 10:46, исправлен 04/12/2014 11:59)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

Гость, ну это просто алиас, правильно? Я себе алиасы для OpenSSL делал. Кстати, а почему конфиги выкладывать – это не секьюрно? Я бы, к примеру, с радостью посмотрел на чьи-нибудь алиасы, и возможно даже себе бы взял на вооружение. Ну т.е. в чем угрозы в выкладывании конфигов?
Unknown, забавно, я же привык твои сообщения всерьез воспринимать – вот и начал вдумчиво смысл искать, зато узнал, что такое awk.

— Гость (06/12/2014 02:46)   <#>

+1050 ☺


Потому, что если меня взломают, зловред сливает конфиги в АНБ, а АНБ погуглит и найдёт, что такие конфиги в сеть выкладывал именно я. Не спасут ни Tor, ни тысячи проксей.

~/.zshrc:
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/$USER/bin
 
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' original true
zmodload zsh/complist
zstyle ':completion:*' menu yes select
zstyle ':completion:*:processes' command 'ps -xuf'
zstyle ':completion:*:processes' sort false
zstyle ':completion:*:processes-names' command 'ps xho command'
 
autoload -Uz compinit
compinit
# Будет автодополнение, маркером можно перемещаться и выбирать вариант
 
## Раскомментить, если /tmp на tmpfs или mfs
#export LESSHISTFILE=/tmp/.lesshist.$USER
#HISTFILE=/tmp/.zhistory.$USER
 
HISTSIZE=100000
SAVEHIST=100000
setopt APPEND_HISTORY
setopt HIST_IGNORE_ALL_DUPS
 
setopt NO_BEEP
# Не писать cd в командах cd /path/to:
setopt autocd
# Автокоррекция введённых комманд:
setopt CORRECT
SPROMPT="Enter %r instead of %R? ([Y]es/[N]o/[E]dit/[A]bort) "
 
# Для неосиляторов vim'а поставьте -e вместо -v
# и редактируйте комстроку как емаксеры.
bindkey -v
 
# Нормальное приглашение комстроки с подцветкой, путём,
# блэкджеком и шл-ми:
PROMPT="$(print '%{\e[1;34m%}%n%{\e[0m%}' '%{\e[4;31m%}%~%{\e[0m%}' '%{\e[1;01m%}$%{\e[0m%}') "
 
# Смотрим весь каталог картинок попорядку:
alias Feh='feh -rdFSfilename'
 
# Если не надо себе стрелять в ногу:
alias      skype='echo NOT ALLOWED'
#alias  iceweasel='echo NOT ALLOWED'
#alias    firefox='echo NOT ALLOWED'
alias    mplayer='echo NOT ALLOWED'
#alias        feh='echo NOT ALLOWED'
#alias        Feh='echo NOT ALLOWED'
 
# Классика:
 
alias lll='/bin/ls -laFh'
alias  ll='ls -laFh --color'
alias  ls='ls -F --color'
 
# Убивает комменты и пустые строки в выводе TeX-файлов:
alias -g    S="|sed 's/%.*//;/^[[:space:]]*$/d'"
# Убивает комменты и пустые строки в скриптах:
alias -g    s="|sed 's/#.*//;/^[[:space:]]*$/d'"
alias -g    g='|grep'
alias -g   gi='|grep -i'
alias -g  giv='|grep -iv'
alias -g    l='|less -Q'
alias -g    h='|head'
alias -g    t='|tail'
 
# Считаем число строк в выводе:
alias -g  wcl='|wc -l'
# Считаем число символов в тексте, который копипастится мышой:
alias     wcc="cat << \"E\" |wc -c"
 
# Перекодировки на лету:
alias -g  iku='|iconv -c -f koi8-r -t utf-8'
alias -g  ikc='|iconv -c -f koi8-r -t cp1251'
alias -g  ick='|iconv -c -f cp1251 -t koi8-r'
alias -g  iuc='|iconv -c -f utf-8 -t cp1251'
alias -g  iuk='|iconv -c -f utf-8 -t koi8-r'
alias -g icpk='|iconv -c -f cp866 -t koi8-r'
alias     icm="cat << \"E\" |iconv -c -f utf-8 -t cp1252 |iconv -c -f cp1251 -t utf-8"
 
alias -g    c='clear'
 
# Проверяем, запущен ли процесс с заданным
# именем: pss NAME
alias -g  pss="ps aux -ww |grep -v \"grep\" |grep"
 
alias -g   gv='gv -presentation'
 
#alias mplayer='mplayer -fs'
 
# Быстрый доступ к директории -- везде пишем ~mydir
# вместо $HOME/path/to:
hash -d mydir=$HOME/path/to
 
# Убиваем пустые строки и пробелы в конце строк в копипасте мышью:
alias  unscr="cat <<\"E\" |sed 's/\( *$\)//'"

~/.Xresoures:
xscreensaver.cycle:                 0
xscreensaver.lock:                  true
xscreensaver.lockTimeout:           0
xscreensaver.pointerPollTime:       1
 
xscreensaver.splash:                        false
xscreensaver.splashDuration:        0
xscreensaver.overlayTextBackground: #ffffff
xscreensaver.fade:                          true
xscreensaver.fadeSeconds:                   0
xscreensaver.timeout:                           20
xscreensaver*Dialog.headingFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*Dialog.bodyFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*Dialog.labelFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*Dialog.buttonFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*Dialog.dateFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*passwd.passwdFont: -b&h-lucidatypewriter-medium-r-normal-sans-18-180-75-75-m-110-iso8859-1
xscreensaver*passwd.body.label: Welcome to ressa system!
xscreensaver*passwd.user.label: Username:
xscreensaver*passwd.passwd.label: Password:
xscreensaver*Dialog.foreground:             #503030
xscreensaver*Dialog.background:             #000000
xscreensaver*Dialog.Button.foreground:      #FF0000
xscreensaver*Dialog.Button.background:      #000000
xscreensaver*Dialog.Button.pointBackground: #000000
xscreensaver*Dialog.Button.clickBackground: #000000
xscreensaver*Dialog.text.foreground:        #503030
xscreensaver*Dialog.text.background:        #000000
xscreensaver*passwd.thermometer.foreground: #503030
xscreensaver*passwd.thermometer.background: #000000
xscreensaver*Dialog.topShadowColor:         #000000
xscreensaver*Dialog.bottomShadowColor:      #000000
xscreensaver*Dialog.logo.width:             210
xscreensaver*Dialog.logo.height:            310
xscreensaver*Dialog.internalBorderWidth:    0
xscreensaver*Dialog.borderWidth:            0
xscreensaver*Dialog.shadowThickness:        0
xscreensaver*programs: \
        feh -F /home/$USER/path/to/dark_image.jpg \n
 
urxvt.geometry: 93x28+0+110
urxvt.font: lucidasanstypewriter-14
urxvt.boldFont: lucidasanstypewriter-14
urxvt.scrollBar: 0
urxvt.internalBorder: 20
urxvt.saveLines: 0
urxvt.transparent: on
 
urxvt.foreground: rgb:75/65/55
urxvt.colorUL: rgb:88/66/77
urxvt.colorBD: rgb:77/88/66
urxvt.color0:  rgb:55/55/55
urxvt.color1:  rgb:88/77/66
urxvt.color3:  rgb:88/66/77
urxvt.color4:  rgb:75/65/55
urxvt.color9:  rgb:55/55/55
urxvt.color10: rgb:77/88/66
urxvt.color11: rgb:77/88/66
urxvt.color12: rgb:66/66/66
urxvt.color13: rgb:77/88/66
urxvt.color14: rgb:88/66/77
URxvt.print-pipe: cat > /dev/null
urxvt.print-pipe: cat > /dev/null
rxvt.print-pipe: cat > /dev/null
Rxvt.print-pipe: cat > /dev/null

Терминалом у нас будет urxvt. Мы переопределили его цвета, взяв нормальные RGB, теперь надо их согласованно назначить mcabber'у, mutt'у, vim'у и zsh'у.
~/vimrc:



Вот как пофиксить системную тему zellner, чтоб она стала совместимой (vim 7.3):



Чтобы screen работал, да нормальный statusline был, ему тоже нужен конфиг:



Всё это заточено под иксы и вышеданный ~/.Xresources.

Конфиг mutt'а я уже вылкадывал, конфиг mcabber просто не под рукой сейчас, но там цвета выбраны тоже согласованно с этой гаммой.

Вот как это выглядит: консоль, автодополнение. Как работает автоматика, картинкой не передашь, тут анимированные ролики уже надо делать. Короче, кому надо, тот разберётся; кому не надо, всё равно будет не в коня корм.

Пространство для улучшений есть всегда, можно до конца жизни курить тысячи опций этих программ и подкручивать их в соответствии с собственными пожеланиями. Когда-то давно конфиги были утянуты из интернета (zshrc — от Федорчука), а потом творчески осмыслялись и дорабатывались. В zshrc ещё можно надобавлять алиасов для ssh, scp и sftp, чтобы легко было загружать файлы и ходить на другие хосты; настроить аутентификацию по ключам и т.д. Если описывать всё, что сделано поверх голой системы, можно написать целую книгу, но это в целом оффтоп тут и ненужно.
— ressa (06/12/2014 03:24, исправлен 06/12/2014 03:30)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59

Спасибо тебе большое. Я же тебя узнал! Вот по большому тексту – сразу узнал. Спасибо, ты очень много полезного выкладываешь и пишешь.
Пожелания из скринов – учту. Да давно учел бы, вопрос времени)
Но теперь однозначно буду больший уклон в сторону CLI делать.
Слушай, на сколько это все-таки сильно – нести знания и так или иначе влиять на людей.
Искренне – всех благ и всего самого наилучшего.
О конфиге – так наоборот – может лучше выкладывать? Ну т.е. меня сломают и за тебя примут)) Ну и таких как я – не мало будет, которые конфиг твой заюзают.

На страницу: 1, 2, 3, 4 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3