He hecho algunas pruebas, y parece que gzcat
(y el evento zcat
) en OS X solo funcionan para archivos comprimidos con gzip, y no archivos con compresión zip estándar. Dicho esto, creo que esto es lo que estás buscando:
"sub.domain.tld.ssl.zip" contiene 2 archivos:
- "sub.domain.tld.crt" (certificado SSL)
- "sub.domain.tld.key" (clave privada RSA)
Para imprimir todos los archivos en STDOUT
, usaría unzip -p
Para " cat
" el certificado, puede usar el siguiente comando:
unzip -p sub.domain.tld.ssl.zip | sed -n '/CERT/,/CERT/p'
Para " cat
" la clave privada, puede usar el siguiente comando:
unzip -p sub.domain.tld.ssl.zip | sed -n '/KEY/,/KEY/p'
Luego, puede hacer lo que desee, como crear una pequeña secuencia de comandos o función:
#!/bin/bash
unzip -p "$1" | sed -n '/CERT/,/CERT/p' > "/etc/ssl/Certs/${2}.crt"
unzip -p "$1" | sed -n '/KEY/,/KEY/p' > "/etc/ssl/Private/${2}.key"
El script anterior tomaría 2 argumentos (que idealmente deberían estar entre comillas):
- Nombre de archivo del archivo zip
- convención de nomenclatura de los archivos cert / key
Si el nombre de la secuencia de comandos fuera sslinstazip.sh
, lo ejecutaría así:
./sslinstazip.sh "sub.domain.tld.ssl.zip" "sub.domain.tld"
Obviamente, hay muchas formas en que puedes modificar esto para que se ajuste a tus necesidades personales, pero en este caso, unzip
es realmente tu amigo.