Como eu extraio todos os assuntos de um cacertfile com a linha de comando openssl?

8

Existe um comando openssl para extrair todos os assuntos do certifacte de um cacertfile (um arquivo contendo vários certificados como /etc/ssl/certs/ca-certificates.crt)?

Eu tentei openssl x509 -in /etc/ssl/certs/ca-certificates.crt -noout -subject , mas isso só me dá o assunto do primeiro certificado.

    
por sebokopter 31.07.2011 / 13:15

2 respostas

5

Infelizmente, não acredito que o OpenSSL possa fazer isso. O OpenSSL assume um certificado por arquivo para ações x509.

De acordo com este site , você precisa dividi-los em arquivos individuais. Ele até fornece um script perl que irá dividi-lo para você. Você pode então fazer um loop nos arquivos ou modificar o script perl para extrair o assunto diretamente.

    
por 01.08.2011 / 00:13
1

Defina a variável file para apontar para o seu arquivo, modifique o comando openssl e você está pronto:

file="your file name"; first=""; for i in $(grep -n CERT "${file}" | cut -f 1 -d:)
do
    if [ -z "$first" ]
    then
        first=$i
        continue
    fi
    sed -n "$first,${i}p" "${file}" | openssl x509 -noout -subject
    first=""
done
    
por 27.04.2017 / 01:28

Tags