Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Re[4]: подпись документов электронной подписью

In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=Iy0kSfqro6/PnTdewBARjhpNq4tJ5gJ+NOxmlcFauGA=;
b=X6Ju4mhclJm5lfqD/BIy3Ld+1f
U5v4OH85tHoOaZz8NSiglmKr2cH/MlkTc7ZeyoAq2o0sJYe4PEmyX0l2e55AFClknFj7LvCfWtlW
S
2SjLMlBeHPi4807033vaul++EcHoPrEiiUoL0RfW6UTkbDupt4tAnQLg2aAEiKxHFIvo=;

Здравствуйте, Zpxt.
В своём письме от 25.05.2018, Вы писали:

А что надо сделать, чтоб утилитка хоть как-то джозилась?

keytool нашелся, всё включено.
Но ведь ним не подпишешь ничего.
Он лишь для создания ключей, как я понял.
А как же из командной строки подписать документ?
дело в том, что сайт
https://czo.gov.ua/sign

просто отказался принимать ключи от
приватбанка.
Документы как-то надо подписывать, а потому тема актуальна на
сегодняшний день.
С почтением Андрей.

Ответить   Andrij Stegnitskiy (#3596236)

 

Ответы:

Приветствую всех.
В JDK для подписи используется утилита jarsigner, но вряд ли это вам
подходит.
Попробуйте использовать пакет openssl.:
https://www.openssl.org/
Пример использования:
https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html

Успехов. Анатолий.
Исходное сообщение > Но ведь ним не подпишешь ничего.

Ответить   "i_chay" Tue, 11 Dec 2018 16:28:14 +0300 (#3596243)

 

Здравствуйте, i_chay.
В своём письме от 11.12.2018, Вы писали:

пакет скачал.
там был зип архив и в нем папка openssl.

https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html

А вот в примере то там нету полного полсылания на openssl, и на ключи
jks.
там идёт отсылка на base64.
а то его ж там нету в пакете.
то точно оно?
С почтением Андрей.

Ответить   Andrij Stegnitskiy Tue, 11 Dec 2018 15:00:39 +0200 (#3596247)

 

Приветствую всех.
Для Windows берите отсюда:
http://gnuwin32.sourceforge.net/packages/openssl.htm

Подписывание (создание электронной подписи) выполняется командой
openssl dgst -sha256 -sign privkey.key -out document.sha256 document.txt
Где
document.txt -- файл, который нужно подписать;
document.sha256 -- электронная подпись (результат);
privkey.key -- приватный ключ.
Если у вас нет отдельного файла с приватным ключом, то его придется извлечь
из файла JKS, а перед этим сконвертировать JKS в файл формата pkcs12 (это
свободный формат хранилища ключей в отличие от несвободного JKS, который не
поддерживается OpenSsl).

keytool -importkeystore -srckeystore mykeys.jks -destkeystore mykeys.p12
-srcstoretype JKS -deststoretype PKCS12
где
mykeys.jks -- ваш JKS файл;
mykeys.p12 -- результат в формате pkcs12.
В ходе выполнения команды у вас запросят все необходимые пароли.

openssl pkcs12 -in mykeys.p12 -nodes -nocerts -out privkey.key
где
mykeys.p12 -- файл, полученный на предыдущем этапе;
privkey.key -- ваш приватный ключ для подписывания сообщений (никому не
передавайте).
В ходе выполнения команды у вас запросят необходимые пароли.
Теперь см. команду создания электронной подписи.

base64 используется не для подписывания документа, а для преобразования уже
существующей электронной подписи из бинарного вида в представление base64
для тех случаев, когда передача в бинарном виде невозможна.
Вам это надо?

Успехов. Анатолий.

Ответить   "i_chay" Tue, 11 Dec 2018 20:02:03 +0300 (#3596276)

 

Здравствуйте, i_chay.
В своём письме от 11.12.2018, Вы писали:

извлечь

(это

не

А чем конвертировать и потом извлекать?
keytool, то если по команде list, видит в файле jks ключик.
Но он то ж не конвертирует и не извлекает.
С почтением Андрей.

Ответить   Andrij Stegnitskiy Tue, 11 Dec 2018 18:24:32 +0200 (#3596278)

 

Приветствую всех.

Конвертировать при помощи keytool, извлекать при помощи openssl.
В моем предыдущем сообщении приведены необходимые команды для конвертации в
pkcs12 и извлечения приватного ключа.
Читайте сообщение целиком.

Успехов. Анатолий.
Исходное сообщение > А чем конвертировать и потом извлекать?

Ответить   "i_chay" Tue, 11 Dec 2018 22:32:33 +0300 (#3596291)