¿Es posible importar una Autoridad de Certificación personalizada (.crt) utilizando Terminal o sobre SSH en macOS 10.13 High Sierra?
¿Es posible importar una Autoridad de Certificación personalizada (.crt) utilizando Terminal o sobre SSH en macOS 10.13 High Sierra?
En MacOS (High Sierra), ¿es posible importar una Autoridad de certificación (.crt) personalizada utilizando Terminal o sobre SSH?
Sí, lo es.
Añadir un certificado con Terminal
Chrome utiliza el almacén de certificados de llavero del sistema. Para agregar un certificado de CA localmente , inicie Terminal y ejecute este comando (lo he dividido en varias líneas para que sea más legible, pero el comando es completamente funcional):
sudo security add-trusted-cert \
-k /Library/Keychains/System.keychain \
-d /path/to/CAcertificate.crt
donde:
sudo
ejecuta el comando que sigue con privilegios administrativos (escriba su contraseña de inicio de sesión cuando se le solicite)
security
es una utilidad para manipular llaveros
-k
especifica qué llavero usar (ejecute security list-keychains
para obtener una lista de los llaveros disponibles). Tenga en cuenta que los nuevos certificados raíz deben agregarse al llavero de inicio de sesión para el usuario actual, o al llavero del sistema si van a ser compartidos por todos los usuarios de esta máquina, porque el llavero Roots del sistema no puede ser modificado. En el ejemplo anterior, uso el llavero del sistema.
-d
agrega el certificado al almacén de certificados de administrador (para que el usuario no tenga que autenticarse a través de un cuadro de diálogo de autenticación)
/path/to/CAcertificate.crt
es la ruta a su certificado de CA. El comando acepta ASCII ( PEM ) y binary ( DER ) certificados.
(Consulte man security
para obtener más información).
Añadir un certificado a través de SSH
Para agregar un certificado de CA sobre SSH , use este comando:
ssh -t -t <username>@<remote computer> \
'sudo bash -c "security add-trusted-cert \
-k /Library/Keychains/System.keychain \
-d <(echo \"<your CA certificate in PEM format>\")"'
donde:
<your CA certificate in PEM format>
son los contenidos de /path/to/CAcertificate.crt
en formato PEM (vea un ejemplo a continuación).
Tenga en cuenta que en este caso tendrá que escribir la contraseña de <username>
dos veces: una vez para iniciar sesión en ssh
y una vez para ejecutar sudo
en el sistema remoto.
Ejemplo
Antes de importar su certificado de CA, Chrome mostrará un error "NET :: ERR_CERT_AUTHORITY_INVALID" porque el certificado de CA no es confiable:
SupongamosquealmacenasucertificadodeCAen/tmp/SelfSignedCertRootCA.crt
concontenido:
-----BEGINCERTIFICATE-----MIIFVjCCAz4CCQCT7ycH41qc8jANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQGEwJDSDEOMAwGA1UECAwFQmFzZWwxDjAMBgNVBAcMBUJhc2VsMR0wGwYDVQQKDBRTZWxmU2lnbmVkQ2VydCwgSW5jLjEfMB0GA1UEAwwWU2VsZlNpZ25lZENlcnQgUm9vdCBDQTAeFw0xODA5MzAxMDI1MDhaFw0yODA5MjcxMDI1MDhaMG0xCzAJBgNVBAYTAkNIMQ4wDAYDVQQIDAVCYXNlbDEOMAwGA1UEBwwFQmFzZWwxHTAbBgNVBAoMFFNlbGZTaWduZWRDZXJ0LCBJbmMuMR8wHQYDVQQDDBZTZWxmU2lnbmVkQ2VydCBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAy2niOUehGbYdMwg+z7Gx9I7IefjJS2zVcYzJSHYiL4LhBUDLl0E4QmsOfOuaNP0q1wvhRQAgCC0ZsXVeofhMDLEbPgdOc8ksBzH1UOboGw99/QsJ9fOs27r227uGKbXp2bstpNB2arl1rAw4litAQFgfTHCbhVXognwBeUIPU/wZ5ddEmdAa8rt7PnKVSPabT9fXqnWIKOobLyaiB9XTbd6dHruiqIIMHTCeB90lVdrrKRL0bZJVBj6KVR2yYY8x4xNaDoHS7OBkWkU+rp09J5LfZJ38u+mA7FOEyxpIgkw5nGeZWdTzjzeio9/oEdfXyJq7PYT/ZskfFODFvBF+e0Ro9WYbf5H61ywQjAvYW73rfLG8JthldMVu0rVONNl9+dn/bjl5cOicohMLlVkYw18dIeNDbfsUVN19pfyjG5j0U9LgQ4LZAWkOqIfp8omrTyvXR3UuJhv41W97fXMZSZkVdJkbAtBdIGqgNPqxT+5HaeUIEbClDn6n3vOWIOR6kjYi+asGI9U8r29ar6Pon7btjfNXE/JBUHw7CggKgJiHYXIpaAhUsztKNQSvbPK0g2I4NwtCKpRCiROKdCLCVRHDJktArbzC9xqtYQ5aZDwFcZN0+5puhGrtUpbcWwmDku3BE4SsKeev5Yo+jgmUlNi9ramgfGaPmWNGQXuOMA0CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAtdaQzgOFVbYPTvTYKa+XOyOwAfGnQhoVuoiC1WVq6y42y8Xh2L7pG95dY1a96rO5+Yzq9Ar5g5dqbkajOnnIaoZYKu9koutc9flmsaaznR4psa5RX3Zyr3ICdTLrFnxNw+p9RFUJb0wQCuQ7b4qLxDzTdvQUiJS2FZMqDiSgmQ3wF6Utb5o7bSe13Y5szMGsc9eUaZfiQUOm/kFVw/0iRssPsTjfPotLOZmMD5RLVFP5Es8zbU7U8W6z5MsBacMkYm8qCkEtTIK40wQ29qcsZIxvGEJC1FcvuJBArYVtxm+C1mOVGaSbIxWg3zLE4KUEH1baFkr8XidjLU3AVLzceJsmtLBDk2tVs9w7SLh1Hw7BEBPRWYyoP7rf0KYQ9ojjZ9UXO88q802pQDLO6KqSl2BGKD/qei+alENOOVuTO4a6z0mUOrqYtgBJq2LqJRnHZChPdhNWVJU0XCnSoPNVlv5zD8FVefo6nis9Yv3dNlZzCgFFy6YxGNGxHSCUpFlUV6w7HfVEMYR4Y68XsZfNzB36/I6LMzab5RlPYJ/cy14HuWrrLNpmH5pRtiusKxxnWIYvHyv4aUQ6Zs6TjWPk2zgxN4FtyAcslqBrymvYTsItPRYwh5tSBGucCm2RkJypRuOfwxZS1XG7W3dXrGkrD32aRgJa4vNyLIIdQp1M7ag=-----ENDCERTIFICATE-----
ImportarlolocalmenteaChromeconestecomando:
sudosecurityadd-trusted-cert\-k/Library/Keychains/System.keychain\-d/tmp/SelfSignedCertRootCA.crt
osobreSSH(enelsiguienteejemplo,aunsistemaremotoconladirecciónIP172.16.96.141)conestecomando:
[email protected]\'sudobash-c"security add-trusted-cert \
-k /Library/Keychains/System.keychain \
-d <(echo \"-----BEGIN CERTIFICATE-----
MIIFVjCCAz4CCQCT7ycH41qc8jANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQGEwJD
SDEOMAwGA1UECAwFQmFzZWwxDjAMBgNVBAcMBUJhc2VsMR0wGwYDVQQKDBRTZWxm
U2lnbmVkQ2VydCwgSW5jLjEfMB0GA1UEAwwWU2VsZlNpZ25lZENlcnQgUm9vdCBD
QTAeFw0xODA5MzAxMDI1MDhaFw0yODA5MjcxMDI1MDhaMG0xCzAJBgNVBAYTAkNI
MQ4wDAYDVQQIDAVCYXNlbDEOMAwGA1UEBwwFQmFzZWwxHTAbBgNVBAoMFFNlbGZT
aWduZWRDZXJ0LCBJbmMuMR8wHQYDVQQDDBZTZWxmU2lnbmVkQ2VydCBSb290IENB
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAy2niOUehGbYdMwg+z7Gx
9I7IefjJS2zVcYzJSHYiL4LhBUDLl0E4QmsOfOuaNP0q1wvhRQAgCC0ZsXVeofhM
DLEbPgdOc8ksBzH1UOboGw99/QsJ9fOs27r227uGKbXp2bstpNB2arl1rAw4litA
QFgfTHCbhVXognwBeUIPU/wZ5ddEmdAa8rt7PnKVSPabT9fXqnWIKOobLyaiB9XT
bd6dHruiqIIMHTCeB90lVdrrKRL0bZJVBj6KVR2yYY8x4xNaDoHS7OBkWkU+rp09
J5LfZJ38u+mA7FOEyxpIgkw5nGeZWdTzjzeio9/oEdfXyJq7PYT/ZskfFODFvBF+
e0Ro9WYbf5H61ywQjAvYW73rfLG8JthldMVu0rVONNl9+dn/bjl5cOicohMLlVkY
w18dIeNDbfsUVN19pfyjG5j0U9LgQ4LZAWkOqIfp8omrTyvXR3UuJhv41W97fXMZ
SZkVdJkbAtBdIGqgNPqxT+5HaeUIEbClDn6n3vOWIOR6kjYi+asGI9U8r29ar6Po
n7btjfNXE/JBUHw7CggKgJiHYXIpaAhUsztKNQSvbPK0g2I4NwtCKpRCiROKdCLC
VRHDJktArbzC9xqtYQ5aZDwFcZN0+5puhGrtUpbcWwmDku3BE4SsKeev5Yo+jgmU
lNi9ramgfGaPmWNGQXuOMA0CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAtdaQzgOF
VbYPTvTYKa+XOyOwAfGnQhoVuoiC1WVq6y42y8Xh2L7pG95dY1a96rO5+Yzq9Ar5
g5dqbkajOnnIaoZYKu9koutc9flmsaaznR4psa5RX3Zyr3ICdTLrFnxNw+p9RFUJ
b0wQCuQ7b4qLxDzTdvQUiJS2FZMqDiSgmQ3wF6Utb5o7bSe13Y5szMGsc9eUaZfi
QUOm/kFVw/0iRssPsTjfPotLOZmMD5RLVFP5Es8zbU7U8W6z5MsBacMkYm8qCkEt
TIK40wQ29qcsZIxvGEJC1FcvuJBArYVtxm+C1mOVGaSbIxWg3zLE4KUEH1baFkr8
XidjLU3AVLzceJsmtLBDk2tVs9w7SLh1Hw7BEBPRWYyoP7rf0KYQ9ojjZ9UXO88q
802pQDLO6KqSl2BGKD/qei+alENOOVuTO4a6z0mUOrqYtgBJq2LqJRnHZChPdhNW
VJU0XCnSoPNVlv5zD8FVefo6nis9Yv3dNlZzCgFFy6YxGNGxHSCUpFlUV6w7HfVE
MYR4Y68XsZfNzB36/I6LMzab5RlPYJ/cy14HuWrrLNpmH5pRtiusKxxnWIYvHyv4
aUQ6Zs6TjWPk2zgxN4FtyAcslqBrymvYTsItPRYwh5tSBGucCm2RkJypRuOfwxZS
1XG7W3dXrGkrD32aRgJa4vNyLIIdQp1M7ag=
-----END CERTIFICATE-----\")"'
Ahora vuelve a cargar el sitio. El error se ha ido:
yelcertificadoseincluyeenlacadenadeclavesdelsistema:
Lea otras preguntas en las etiquetas macos command-line google-chrome certificate configuration