¿Cómo se acepta un certificado SSL a través de la línea de comando SVN?

¿Cómo se acepta un certificado SSL a través de la línea de comando SVN?

¿Existe una opción de línea de comando para aceptar automáticamente un certificado SSL de forma permanente usando la línea de comando SVN de una manera que evite el mensaje?

Respuesta1

Depende un poco de su versión de SVN. Los recientes (1.6+) tienen lo habitual --non-interactive(que desea usar para evitar mensajes) y también uno --trust-server-certque puede hacer lo que desee.

Respuesta2

El uso --trust-server-certno aceptará permanentemente el certificado SSL. Puede aceptar permanentemente el certificado SSL a través de la línea de comando usandoRedirección de entraday no usar --non-interactive.

Aquí hay un ejemplo para Unix/Linux:

svn list [TARGET] << EOF
p
EOF

NOTA:La "p" de arriba es para (p)manentemente.

Respuesta3

Mi solución usa esperar. No es seguro pero funcionará cuando las otras soluciones no lo hagan.

#!/usr/bin/expect -f

set svn_username [lindex $argv 0]
set svn_password [lindex $argv 1]
set svn_url [lindex $argv 2]

spawn svn --username=${svn_username} --password=${svn_password} list ${svn_url}
expect "(R)eject, accept (t)emporarily or accept (p)ermanently? "
send -- "p\r"
expect "Store password unencrypted (yes/no)? "
send "no\r"
expect -re "root@.*:\/#"

Respuesta4

Debería poder descargar el certificado y luego colocarlo en el directorio apropiado. O puede descargar el certificado de CA y luego configurar la opción de configuraciónarchivos de autoridad sslconfiar en esa CA.

Ver elGestión de certificados SSLsección del libro.

información relacionada