Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Обработка ответов openssl в терминале  (Прочитано 634 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Oleg7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Всем привет!
Опыт работы на Linux небольшой но чувствую что мое решение можно оптимизировать так как работает очень долго из-за перезаписи временных файлов.

Для каждого запроса средствами терминала и стандартных текстовых утилит и openssl необходимо сгенирировать файл из 100 строк в виде:
привтный_ключ1 пробел публычный_ключ1
привтный_ключ2 пробел публычный_ключ2

привтный_ключ100 пробел публычный_ключ100

привтный_ключ и публычный_ключ генерируються на основе алоритма secp256k1 после выполнения команд openssl ecparam -genkey -name secp256k1 -noout -out key.pem && openssl ec -in key.pem -pubout -noout  -text 2>/dev/null результат имеет следющий вид:

Private-Key: (256 bit)
priv:
    00:cd:f7:d7:d0:fd:29:ac:97:93:12:d2:2d:b2:1a:
    4c:9a:b6:54:bc:a6:81:f4:af:3a:ae:1d:aa:ac:d9:
    49:78:cf
pub:
    04:7f:95:16:08:a6:a7:63:32:8c:89:a6:4c:20:1c:
    c4:b4:04:f0:f1:0c:af:0f:e9:69:ae:16:85:da:58:
    36:d4:c7:5a:a8:fd:2f:7e:86:a9:61:e5:20:32:3b:
    c9:16:96:24:14:d0:ea:ea:0a:79:75:74:8f:60:65:
    56:a1:6d:4f:64
ASN1 OID: secp256k1

а на должна быть одна строка вида (без двоиточия и переносов строк):
047f951608a6a763328c89a64c201cc4b404f0f10caf0fe969ae1685da5836d4c75aa8fd2f7e86a961e520323bc916962414d0eaea0a7975748f606556a16d4f64 00cdf7d7d0fd29ac979312d22db21a4c9ab654bca681f4af3aae1daaacd94978cf

Мой скрипт:
#!/bin/bash
for (( i=1; i <= 100; i++ ))
do
openssl ecparam -genkey -name secp256k1 -noout -out key.pem
openssl ec -in key.pem -pubout -noout -text 2>/dev/null | sed -n 3,5p  | tr -d ' :\n\t' | sed 's/^/ /; s/$/\n/g' > pri.key
openssl ec -in key.pem -pubout -noout -text 2>/dev/null | sed -n 7,11p | tr -d ' :\n\t' >  pub.key
cat pub.key pri.key >> pub_pri.txt
done
echo "done"

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6752
  • 20% Cooler
    • Просмотр профиля
Re: Обработка ответов openssl в терминале
« Ответ #1 : 05 Января 2018, 15:51:33 »
Да недолго работает (разницы с и без использования файлов не увидел). Cама генерация сертификата больше времени занимает.

Код: (bash) [Выделить]
#!/bin/bash
for i in {1..100}; do
X=$(openssl ecparam -genkey -name secp256k1 -noout |
openssl ec -pubout -noout -text 2>/dev/null |
sed -n 's/^\ \{4\}//p' | tr -cd '[:alnum:]' )
echo "${X: :64} ${X:64}"
done
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.