mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-27 00:21:44 +02:00
Generate testing certs on the fly
Review URL: http://codereview.chromium.org/1701016
This commit is contained in:
parent
041bd71932
commit
86e28fd1d9
@ -6,24 +6,29 @@
|
||||
|
||||
echo "Adding mock Google Accounts server certs."
|
||||
|
||||
# TODO(cmasone): Generate certs/keys on the fly from a CSR?
|
||||
CERT_DIR="${GCLIENT_ROOT}/src/platform/login_manager"
|
||||
CERT_NAME="mock_server"
|
||||
FAKE_CA_DIR="${ROOT_FS_DIR}/etc/fake_root_ca"
|
||||
FAKE_NSSDB="${FAKE_CA_DIR}/nssdb"
|
||||
TMP_KEY=$(mktemp -p /tmp "${CERT_NAME}.key.XXXXX")
|
||||
TMP_CERT=$(mktemp -p /tmp "${CERT_NAME}.pem.XXXXX")
|
||||
|
||||
mkdir -p "${FAKE_NSSDB}"
|
||||
cat "${CERT_DIR}/${CERT_NAME}.key" > "${FAKE_CA_DIR}/${CERT_NAME}.key"
|
||||
# Generate testing root cert on the fly.
|
||||
openssl req -x509 -nodes -days 365 \
|
||||
-subj "/CN=*.google.com" \
|
||||
-newkey rsa:1024 -keyout "${TMP_KEY}" -out "${TMP_CERT}"
|
||||
|
||||
mkdir -m 0755 -p "${FAKE_NSSDB}"
|
||||
cp "${TMP_KEY}" "${FAKE_CA_DIR}/${CERT_NAME}.key"
|
||||
echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${FAKE_CA_DIR}/README"
|
||||
nsscertutil -A -n FakeCA -t "C,C,C" -a -i "${CERT_DIR}/${CERT_NAME}.pem" \
|
||||
-d "${FAKE_NSSDB}"
|
||||
chmod -R 0644 "${FAKE_NSSDB}"
|
||||
nsscertutil -A -n FakeCA -t "C,C,C" -a -i "${TMP_CERT}" -d "${FAKE_NSSDB}"
|
||||
chmod 0644 "${FAKE_NSSDB}"/*
|
||||
cp "${TMP_CERT}" "${FAKE_CA_DIR}/${CERT_NAME}.pem"
|
||||
|
||||
# TODO(cmasone): get rid of this once we're off pam_google for good.
|
||||
# Sadly, our fake cert HAS to be first in this file.
|
||||
TMPFILE=$(mktemp)
|
||||
CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem"
|
||||
PERMS=$(stat --printf="%a" "${CERT_FILE}")
|
||||
cat "${CERT_DIR}/${CERT_NAME}.pem" "${CERT_FILE}" > "${TMPFILE}"
|
||||
cat "${TMP_CERT}" "${CERT_FILE}" > "${TMPFILE}"
|
||||
mv -f "${TMPFILE}" "${CERT_FILE}"
|
||||
chmod "${PERMS}" "${CERT_FILE}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user