Esiste un'opzione da riga di comando per accettare automaticamente un certificato SSL in modo permanente utilizzando la riga di comando SVN in modo da evitare la richiesta?
Esiste un'opzione da riga di comando per accettare automaticamente un certificato SSL in modo permanente utilizzando la riga di comando SVN in modo da evitare la richiesta?
Risposte:
Dipende in qualche modo dalla tua versione di SVN. Quelli recenti (1.6+) hanno il solito --non-interactive
(che si desidera utilizzare per evitare i prompt) e anche uno --trust-server-cert
che può fare ciò che si desidera.
L'utilizzo --trust-server-cert
non accetterà in modo permanente il certificato SSL. È possibile accettare in modo permanente il certificato SSL tramite la riga di comando utilizzando Reindirizzamento input e non utilizzando --non-interactive
.
Ecco un esempio per Unix / Linux:
svn list [TARGET] << EOF
p
EOF
NOTA: la "p" sopra è per (p) ermanentemente.
1.6.6 (r40053)
) purtroppo semplicemente non offrirà affatto l' p
opzione (permanente). E poiché questo è su una scatola antica che non posso più aggiornare ...
La mia soluzione utilizza prevede. Non è sicuro ma funzionerà quando le altre soluzioni non lo faranno.
#!/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@.*:\/#"
Dovresti essere in grado di scaricare il certificato e quindi inserirlo nella directory appropriata. In alternativa, è possibile scaricare il certificato CA e quindi impostare l'opzione di configurazione ssl-authority-files per fidarsi di quella CA.
Vedi la sezione Gestione certificati SSL nel libro.