|
|
há 2 meses atrás | |
|---|---|---|
| ca | há 2 meses atrás | |
| usuarios | há 2 meses atrás | |
| README.md | há 2 meses atrás | |
| ca.cnf | há 2 meses atrás | |
| generar-smime.sh | há 2 meses atrás | |
| smime.cnf | há 2 meses atrás |
AC propia para generar certificados S/MIME para firmar y cifrar correos electrónicos.
.
├── ca.cnf # Configuración de la AC
├── smime.cnf # Configuración para certificados S/MIME
├── generar-smime.sh # Script para generar certificados
├── ca/
│ ├── private/
│ │ └── ca.key.pem # Clave privada de la AC (no compartir)
│ └── certs/
│ └── ca.cert.pem # Certificado raíz (instalar en cada cliente)
└── usuarios/
└── <email>/
├── <email>.key.pem # Clave privada del usuario
├── <email>.cert.pem # Certificado S/MIME del usuario
└── <email>.p12 # Contenedor PKCS#12 (importar en cliente)
./generar-smime.sh "Nombre Apellido" email@dominio.com contraseña [días]
emailProtection en Extended Key Usage y el email en Subject Alternative Name../generar-smime.sh "Juan Pérez" juan@example.com MiClaveSegura 730
Produce usuarios/juan@example.com/juan@example.com.p12.
gpg --gen-random --armor 1 32
openssl rand -base64 32
apg
date +%s | sha256sum | base64 | head -c 32 ; echo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
Cualquiera de los métodos anteriores genera una contraseña segura. La idea es generar primero la contraseña y luego invocar a la shell script para generar el certificado.
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca/certs/ca.cert.pem
O desde la interfaz gráfica:
ca/certs/ca.cert.pem a la lista de System (Sistema).open usuarios/<email>/<email>.p12
Esto abre Keychain Access. Ingresar la contraseña del PKCS#12. El certificado quedará disponible en login (inicio de sesión) para usar con Mail.app.
Al redactar un correo aparecerán los iconos de firma y cifrado.
Opción A — Servidor web:
cp ca/certs/ca.cert.pem ~/Sites/ # o cualquier carpeta servida por HTTP
Luego abrir http://<ip>/ca.cert.pem en Safari en el dispositivo iOS. Safari ofrecerá Download Profile. Aceptar.
Opción B — AirDrop:
Enviar ca/certs/ca.cert.pem por AirDrop desde un Mac al dispositivo. Al recibirlo aparecerá la opción de instalar el perfil.
Activar confianza:
Opción A — PKCS#12 por AirDrop:
Enviar <email>.p12 por AirDrop al dispositivo. Al recibirlo aparecerá Install Profile → ingresar la contraseña del PKCS#12 → Install.
Opción B — PKCS#12 por correo:
Enviarse el .p12 como adjunto a sí mismo, abrirlo en el dispositivo e instalar el perfil.
ca/private/ca.key.pem) es sensible. Considérenla como una contraseña maestra.ca/index.txt y cambiar el primer carácter de la línea correspondiente de V a R.