Replace expect with yes
Opened this issue · 1 comments
chenger commented
./lib/root.exp "$file" вызывает вот это:
https://github.com/dbfun/cryptopro/blob/master/scripts/lib/root.exp
Cейчас делал для кубера это, можно сделать вот так:
yes o | /opt/cprocsp/bin/amd64/certmgr -inst -all -store uroot -file /opt/cacer.p7b;
yes сам понажимает o, и yes есть в большинстве образов, в отличии от expect
Поэтому можно из Dockerfile выпилить установку expect
dbfun commented
Да, можно. В этом образе не нужен, но вообще если стоит пароль на подписание, expect нужен. Через yes такой случай не обходится:
#!/usr/bin/expect
#
# Обход проблемы с интерактивным вводом пароля для подписания
#
set timeout 3
set thumbprint [lindex $argv 0]
set password [lindex $argv 1]
set src_file [lindex $argv 2]
set dest_file [lindex $argv 3]
spawn cryptcp -sign -thumbprint $thumbprint -nochain -der $src_file $dest_file
expect "Password:" { send "$password\r" }
expect {
"Password:" { exit 1 }
"(o) OK, (c) Cancel" {
send "o\r"
exp_continue
}
eof { exit 0 }
}