Descripción general
`openssl pkcs12` es un subcomando del conjunto de herramientas OpenSSL, especializado en el manejo de archivos en formato PKCS#12. Con este comando, puede empaquetar (exportar) claves privadas y certificados en un archivo PKCS#12, o extraer (importar) claves privadas y certificados de un archivo PKCS#12.
Funciones principales
- Exportar clave privada y certificado a un archivo PKCS#12
- Extraer clave privada de un archivo PKCS#12
- Extraer certificado de un archivo PKCS#12
- Cambiar la contraseña de un archivo PKCS#12
Opciones principales
El comando `openssl pkcs12` permite un control detallado sobre la creación, extracción y métodos de cifrado de archivos PKCS#12 a través de varias opciones.
Comportamiento básico y E/S de archivos
Contraseñas y seguridad
Extracción y filtrado
Comando generado:
Combina los comandos.
Descripción:
`openssl pkcs12` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
A continuación, se presentan algunos escenarios comunes para trabajar con archivos PKCS#12 utilizando el comando `openssl pkcs12`.
Exportar clave privada y certificado a un archivo PKCS#12
openssl pkcs12 -export -out output.p12 -inkey key.pem -in cert.pem -name "My Certificate"
Combina la clave privada (key.pem) y el certificado (cert.pem) en un único archivo PKCS#12 (output.p12). Se establece una contraseña durante este proceso.
Extraer clave privada de un archivo PKCS#12
openssl pkcs12 -in input.p12 -nocerts -out key.pem -nodes
Extrae la clave privada de un archivo PKCS#12 cifrado (input.p12) y la guarda en el archivo key.pem. Deberá introducir la contraseña del archivo PKCS#12 durante este proceso.
Extraer certificado de un archivo PKCS#12
openssl pkcs12 -in input.p12 -nokeys -out cert.pem
Extrae solo el certificado de un archivo PKCS#12 (input.p12) y lo guarda en el archivo cert.pem. Deberá introducir la contraseña del archivo PKCS#12 durante este proceso.
Cambiar la contraseña de un archivo PKCS#12
openssl pkcs12 -in old.p12 -out new.p12 -passin pass:old_password -passout pass:new_password
Cambia la contraseña de un archivo PKCS#12 existente (old.p12) por una nueva y la guarda en el archivo new.p12. Las contraseñas se especifican utilizando las opciones `-passin` y `-passout`.
Instalación
El comando `openssl pkcs12` forma parte del paquete OpenSSL. La mayoría de las distribuciones de Linux vienen con OpenSSL preinstalado, pero si no es así, puede instalarlo con los siguientes comandos.
Debian/Ubuntu
sudo apt update && sudo apt install openssl
Instala OpenSSL utilizando el gestor de paquetes APT.
CentOS/RHEL/Fedora
sudo yum install openssl
# o
sudo dnf install openssl
Instala OpenSSL utilizando el gestor de paquetes YUM o DNF.
Consejos y precauciones
Los archivos PKCS#12 contienen claves privadas sensibles, por lo que se debe tener especial cuidado con la seguridad al utilizarlos.
Consideraciones de seguridad
- **Usar contraseñas seguras**: La contraseña de los archivos PKCS#12 debe ser lo suficientemente larga y compleja para resistir ataques de fuerza bruta.
- **Evitar la exposición de contraseñas**: En lugar de introducir la contraseña directamente en las opciones `-passin` o `-passout`, es recomendable utilizar los métodos `env:VAR_NAME` o `file:path` para evitar que la contraseña quede registrada en el historial del shell.
- **Precaución con `-nodes`**: La opción `-nodes`, que exporta la clave privada sin cifrar, es muy peligrosa. Úsela solo cuando sea absolutamente necesario y asegúrese de proteger adecuadamente el archivo de clave extraído.
- **Copias de seguridad**: Siempre haga copias de seguridad de sus certificados y claves importantes en un lugar seguro.
Compatibilidad de versiones de OpenSSL
Puede haber diferencias en algunas opciones o comportamientos predeterminados entre diferentes versiones de OpenSSL. Si encuentra problemas, se recomienda consultar la documentación oficial de su versión de OpenSSL (`man openssl-pkcs12`).