| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 echo "Adding mock Google Accounts server certs." | 7 echo "Adding mock Google Accounts server certs." |
| 8 | 8 |
| 9 # TODO(cmasone): Generate certs/keys on the fly from a CSR? | |
| 10 CERT_DIR="${GCLIENT_ROOT}/src/platform/login_manager" | |
| 11 CERT_NAME="mock_server" | 9 CERT_NAME="mock_server" |
| 12 FAKE_CA_DIR="${ROOT_FS_DIR}/etc/fake_root_ca" | 10 FAKE_CA_DIR="${ROOT_FS_DIR}/etc/fake_root_ca" |
| 13 FAKE_NSSDB="${FAKE_CA_DIR}/nssdb" | 11 FAKE_NSSDB="${FAKE_CA_DIR}/nssdb" |
| 12 TMP_KEY=$(mktemp -p /tmp "${CERT_NAME}.key.XXXXX") |
| 13 TMP_CERT=$(mktemp -p /tmp "${CERT_NAME}.pem.XXXXX") |
| 14 | 14 |
| 15 mkdir -p "${FAKE_NSSDB}" | 15 # Generate testing root cert on the fly. |
| 16 cat "${CERT_DIR}/${CERT_NAME}.key" > "${FAKE_CA_DIR}/${CERT_NAME}.key" | 16 openssl req -x509 -nodes -days 365 \ |
| 17 -subj "/CN=*.google.com" \ |
| 18 -newkey rsa:1024 -keyout "${TMP_KEY}" -out "${TMP_CERT}" |
| 19 |
| 20 mkdir -m 0755 -p "${FAKE_NSSDB}" |
| 21 cp "${TMP_KEY}" "${FAKE_CA_DIR}/${CERT_NAME}.key" |
| 17 echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${FAKE_CA_DIR}/README" | 22 echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${FAKE_CA_DIR}/README" |
| 18 nsscertutil -A -n FakeCA -t "C,C,C" -a -i "${CERT_DIR}/${CERT_NAME}.pem" \ | 23 nsscertutil -A -n FakeCA -t "C,C,C" -a -i "${TMP_CERT}" -d "${FAKE_NSSDB}" |
| 19 -d "${FAKE_NSSDB}" | 24 chmod 0644 "${FAKE_NSSDB}"/* |
| 20 chmod -R 0644 "${FAKE_NSSDB}" | 25 cp "${TMP_CERT}" "${FAKE_CA_DIR}/${CERT_NAME}.pem" |
| 21 | 26 |
| 22 # TODO(cmasone): get rid of this once we're off pam_google for good. | 27 # TODO(cmasone): get rid of this once we're off pam_google for good. |
| 23 # Sadly, our fake cert HAS to be first in this file. | 28 # Sadly, our fake cert HAS to be first in this file. |
| 24 TMPFILE=$(mktemp) | 29 TMPFILE=$(mktemp) |
| 25 CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem" | 30 CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem" |
| 26 PERMS=$(stat --printf="%a" "${CERT_FILE}") | 31 PERMS=$(stat --printf="%a" "${CERT_FILE}") |
| 27 cat "${CERT_DIR}/${CERT_NAME}.pem" "${CERT_FILE}" > "${TMPFILE}" | 32 cat "${TMP_CERT}" "${CERT_FILE}" > "${TMPFILE}" |
| 28 mv -f "${TMPFILE}" "${CERT_FILE}" | 33 mv -f "${TMPFILE}" "${CERT_FILE}" |
| 29 chmod "${PERMS}" "${CERT_FILE}" | 34 chmod "${PERMS}" "${CERT_FILE}" |
| OLD | NEW |