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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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"

Оффлайн ALiEN175

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

Код: Bash
  1. #!/bin/bash
  2. for i in {1..100}; do
  3. X=$(openssl ecparam -genkey -name secp256k1 -noout |
  4. openssl ec -pubout -noout -text 2>/dev/null |
  5. sed -n 's/^\ \{4\}//p' | tr -cd '[:alnum:]' )
  6. echo "${X: :64} ${X:64}"
  7. done
  8.  
M5A78L-M LX3 : AMD FX-4330 : 16 Gb RAM : AMD Radeon R7 260x
Samsung N150 : Intel Atom N450 : 2 Gb RAM : Intel GMA 3150

 

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