Como armazenar uma chave ssl como variável em um script para uso com o ncat?

1

Estou tentando escrever um script de wrapper para iniciar um ouvinte ncat. Eu não quero ter que enviar o certificado e a chave para um arquivo, em vez disso eu gostaria de armazená-lo como uma variável dentro do script e chamá-lo assim:

#!/bin/bash

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

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

Mas ncat (ou bash) continua interpretando a chave como um nome de arquivo super longo, em vez da própria chave. Basicamente, eu quero armazenar a chave e o cert como variáveis e fazer com que o ncat as leia como se estivesse lendo de um arquivo real. Isso é possível? Eu tentei vários métodos diferentes e não tive sorte ainda.

    
por Chev_603 01.12.2015 / 00:17

1 resposta

0

A página man do ncat diz

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

Você está especificando um caminho de arquivo com --ssl-cert. Você poderia gravar a string cert em um arquivo e usar esse arquivo como argumento para -ssl-cert.

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

Desculpe, acabei de notar que você disse que não queria usar um arquivo. Você pode excluir o arquivo depois de escrever, se isso ajudar.

    
por 01.12.2015 / 00:35