1
0
Fork 0
apache2/debian/tests/ssl-passphrase
Daniel Baumann f56986e2d9
Adding debian version 2.4.63-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 11:01:27 +02:00

54 lines
1.6 KiB
Bash

#!/bin/sh
set -ex
# Check that the init script correctly prompts for the passphrase on startup,
# then starts and responds correctly to https queries.
#
# Author: Robie Basak <robie.basak@ubuntu.com>
cd /etc/ssl/private
[ -f ssl-cert-snakeoil.key.nopassphrase ] || mv ssl-cert-snakeoil.key ssl-cert-snakeoil.key.nopassphrase
openssl rsa -des3 -in ssl-cert-snakeoil.key.nopassphrase -out ssl-cert-snakeoil.key -passout pass:test
a2enmod ssl
a2ensite default-ssl
# respond to systemd-ask-passphrase
password_responder() {
while [ ! -e /run/systemd/ask-password/sck.* ]; do sleep 1; done
echo "ssl-passphrase test password responder: found prompt, sending password"
echo test | /lib/systemd/systemd-reply-password 1 /run/systemd/ask-password/sck.*
}
password_responder &
# run expect for running under sysvinit/upstart
expect <<EOT
spawn service apache2 restart
set timeout 600
expect {
"assphrase:" {send "test\r"}
# Failure cases
"failed" {exit 1}
eof {exit 0}
}
# wait for eof and return exit code from spawned process back to the caller
expect eof
catch wait result
exit [lindex \$result 3]
EOT
echo "Hello, world!" > /var/www/html/hello.txt
# Use curl here. wget doesn't work on Debian, even with --no-check-certificate
# wget on Debian gives me:
# GnuTLS: A TLS warning alert has been received.
# Unable to establish SSL connection.
# Presumably this is due to the self-signed certificate, but I'm not sure how
# to skip the warning with wget. curl will do for now.
result=`curl -k https://localhost/hello.txt`
if [ "$result" != "Hello, world!" ]; then
echo "Unexpected result from wget" >&2
exit 1
fi