每年都要製做tls 憑證 二十幾張,
此語法利用expect
產生私錀及憑證請求檔
#!/usr/bin/expect
#syntax go.expect 13.key 13csr.txt
set key [lindex $argv 0];
set csr [lindex $argv 1];
set passwd PASSWORD
set timeout -1
spawn openssl genrsa -des3 -out "${key}" 2048
expect "Enter PEM pass phrase:"
send "$passwd\r"
expect "Verifying - Enter PEM pass phrase:"
send "$passwd\r"
interact
set timeout 1000
spawn openssl req -new -key "${key}" -out "${csr}"
expect "Enter pass phrase for ${key}:"
send "$passwd\r"
#expect "Country Name (2 letter code) [AU]:"
expect "Country Name *:"
send "TW\r"
#expect "State or Province Name (full name) [Some-State]:"
expect "State or Province Name *:"
send "\r"
expect "Locality Name *:"
send "臺中市\r"
expect "Organization Name *:"
send "市政府\r"
expect "Organizational Unit Name *:"
send "教育局\r"
expect "Common Name *:"
send "web.tc.edu.tw\r"
expect "Email Address *:"
send "igogo@tc.edu.tw\r"
expect "A challenge password *:"
send "\r"
expect "An optional company name *:"
send "\r"
interact