OLD | NEW |
| (Empty) |
1 #!/bin/bash | |
2 | |
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 | |
5 # found in the LICENSE file. | |
6 | |
7 echo "Adding mock Google Accounts server certs." | |
8 | |
9 case "${ARCH}" in | |
10 arm*) | |
11 QEMU="/tmp/qemu-arm" | |
12 cp "/usr/bin/qemu-arm" "${ROOT_FS_DIR}/${QEMU}" | |
13 ;; | |
14 *86) | |
15 QEMU="" | |
16 ;; | |
17 *) | |
18 error "Invalid ARCH: ${ARCH}" | |
19 exit 1 | |
20 esac | |
21 | |
22 CERT_NAME="mock_server" | |
23 FAKE_CA_DIR="/etc/fake_root_ca" | |
24 FAKE_NSSDB="${FAKE_CA_DIR}/nssdb" | |
25 TMP_KEY=$(mktemp -p /tmp "${CERT_NAME}.key.XXXXX") | |
26 TMP_CERT=$(mktemp -p /tmp "${CERT_NAME}.pem.XXXXX") | |
27 | |
28 mv -f "${TMP_KEY}" "${ROOT_FS_DIR}/${TMP_KEY}" | |
29 mv -f "${TMP_CERT}" "${ROOT_FS_DIR}/${TMP_CERT}" | |
30 | |
31 # Generate testing root cert on the fly. | |
32 sudo chroot "${ROOT_FS_DIR}" ${QEMU} /usr/bin/openssl req -x509 -days 21 \ | |
33 -subj "/CN=www.google.com" \ | |
34 -newkey rsa:1024 -nodes -keyout "${TMP_KEY}" -out "${TMP_CERT}" | |
35 | |
36 mkdir -m 0755 -p "${ROOT_FS_DIR}/${FAKE_NSSDB}" | |
37 sudo chroot "${ROOT_FS_DIR}" ${QEMU} \ | |
38 /usr/local/bin/nsscertutil -d sql:"${FAKE_NSSDB}" -N -f <(echo "") | |
39 cp "${ROOT_FS_DIR}/${TMP_KEY}" "${ROOT_FS_DIR}/${FAKE_CA_DIR}/${CERT_NAME}.key" | |
40 cp "${ROOT_FS_DIR}/${TMP_CERT}" "${ROOT_FS_DIR}/${FAKE_CA_DIR}/${CERT_NAME}.pem" | |
41 echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${ROOT_FS_DIR}/${FAKE_CA_DIR}
/README" | |
42 sudo chroot "${ROOT_FS_DIR}" ${QEMU} \ | |
43 /usr/local/bin/nsscertutil -d sql:"${FAKE_NSSDB}" -A \ | |
44 -n FakeCert -t "C,," -a -i "${FAKE_CA_DIR}/${CERT_NAME}.pem" | |
45 chmod 0644 "${ROOT_FS_DIR}/${FAKE_NSSDB}"/* | |
46 | |
47 CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem" | |
48 mv -f "${ROOT_FS_DIR}/${TMP_CERT}" "${CERT_FILE}" | |
49 chmod 0644 "${CERT_FILE}" | |
50 | |
51 if [ -n "${QEMU}" ] ; then | |
52 rm "${ROOT_FS_DIR}/${QEMU}" | |
53 fi | |
54 rm -f "${ROOT_FS_DIR}/${TMP_KEY}" | |
55 rm -f "${ROOT_FS_DIR}/${TMP_CERT}" | |
OLD | NEW |