1

Я пытаюсь написать скрипт-обертку для запуска слушателя ncat. Я не хочу выводить сертификат и ключ в файл, скорее я бы хотел сохранить его как переменную в скрипте и вызвать его так:

#!/bin/bash

crt="(           ---BEGIN CERT ----
MIICjdkfj4544757jkdfjdkfjsfsdkljf4alwjkqe3r3lkfd
dfjsdkfjdkfjdkfjdf34534235jeklgjeg94gjriogjgojdgkdo7HH
87HSKRNSSFSDFJDKDJFKJDSF/7387dfddffdfd8jhrg8hgs....etc")

ncat --listen --ssl --ssl-cert "$crt" --ssl-key "$key" 127.0.0.1 4444

Но ncat (или bash) продолжает интерпретировать ключ как сверхдлинное имя файла, а не сам ключ. По сути, я хочу сохранить ключ и сертификат как переменные, и чтобы ncat читал их так, как если бы он читал их из реального файла. Это возможно? Я пробовал несколько разных методов, и мне пока не повезло.

1 ответ1

0

На странице руководства ncat написано

--ssl-cert             Specify SSL certificate file (PEM) for listening

Вы указываете путь к файлу с помощью --ssl-cert. Вы можете записать строку сертификата в файл и использовать этот файл вместо аргумента -ssl-cert.

crt="--BEGIN CERT-- ..."
echo $crt > cirt.tmp
ncat --ssl-cert cirt.tmp ...

Извините, я только что заметил, что вы сказали, что не хотите использовать файл. Вы можете удалить файл после записи в него, если это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .