Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: mod_for_test_scripts/710enableAuthTesting

Issue 2878033: Generate fake root certs for autotest via qemu (Closed) Base URL: git://git.chromium.org/crosutils.git
Patch Set: Fix script error Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | mod_image_for_test.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 case "${ARCH}" in
10 arm*)
11 QEMU="qemu-arm"
12 ;;
13 *86)
14 QEMU="qemu-i386"
15 ;;
16 *)
17 error "Invalid ARCH: ${ARCH}"
18 exit 1
19 esac
20 cp "/usr/bin/${QEMU}" "${ROOT_FS_DIR}/tmp"
21
9 CERT_NAME="mock_server" 22 CERT_NAME="mock_server"
10 FAKE_CA_DIR="${ROOT_FS_DIR}/etc/fake_root_ca" 23 FAKE_CA_DIR="/etc/fake_root_ca"
11 FAKE_NSSDB="${FAKE_CA_DIR}/nssdb" 24 FAKE_NSSDB="${FAKE_CA_DIR}/nssdb"
12 TMP_KEY=$(mktemp -p /tmp "${CERT_NAME}.key.XXXXX") 25 TMP_KEY=$(mktemp -p /tmp "${CERT_NAME}.key.XXXXX")
13 TMP_CERT=$(mktemp -p /tmp "${CERT_NAME}.pem.XXXXX") 26 TMP_CERT=$(mktemp -p /tmp "${CERT_NAME}.pem.XXXXX")
14 27
28 mv -f "${TMP_KEY}" "${ROOT_FS_DIR}/${TMP_KEY}"
29 mv -f "${TMP_CERT}" "${ROOT_FS_DIR}/${TMP_CERT}"
Chris Masone 2010/07/20 16:21:26 mktemp just generates filenames, so this mv is odd
30
15 # Generate testing root cert on the fly. 31 # Generate testing root cert on the fly.
16 openssl req -x509 -days 2 -subj "/CN=www.google.com" \ 32 sudo chroot "${ROOT_FS_DIR}" "/tmp/${QEMU}" /usr/bin/openssl req -x509 -days 2 \
33 -subj "/CN=www.google.com" \
17 -newkey rsa:1024 -nodes -keyout "${TMP_KEY}" -out "${TMP_CERT}" 34 -newkey rsa:1024 -nodes -keyout "${TMP_KEY}" -out "${TMP_CERT}"
18 35
19 mkdir -m 0755 -p "${FAKE_NSSDB}" 36 mkdir -m 0755 -p "${ROOT_FS_DIR}/${FAKE_NSSDB}"
20 nsscertutil -d sql:"${FAKE_NSSDB}" -N -f <(echo "") 37 sudo chroot "${ROOT_FS_DIR}" "/tmp/${QEMU}" \
21 cp "${TMP_KEY}" "${FAKE_CA_DIR}/${CERT_NAME}.key" 38 /usr/local/bin/nsscertutil -d sql:"${FAKE_NSSDB}" -N -f <(echo "")
22 cp "${TMP_CERT}" "${FAKE_CA_DIR}/${CERT_NAME}.pem" 39 cp "${ROOT_FS_DIR}/${TMP_KEY}" "${ROOT_FS_DIR}/${FAKE_CA_DIR}/${CERT_NAME}.key"
23 echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${FAKE_CA_DIR}/README" 40 cp "${ROOT_FS_DIR}/${TMP_CERT}" "${ROOT_FS_DIR}/${FAKE_CA_DIR}/${CERT_NAME}.pem"
24 nsscertutil -d sql:"${FAKE_NSSDB}" -A -n FakeCert -t "C,," -a -i "${TMP_CERT}" 41 echo "DO NOT MOVE THIS DATA OFF OF THE ROOTFS!" > "${ROOT_FS_DIR}/${FAKE_CA_DIR} /README"
25 chmod 0644 "${FAKE_NSSDB}"/* 42 sudo chroot "${ROOT_FS_DIR}" "/tmp/${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}"/*
26 46
27 # TODO(cmasone): get rid of this once we're off pam_google for good. 47 # TODO(cmasone): get rid of this once we're off pam_google for good.
28 # Sadly, our fake cert HAS to be first in this file. 48 # Sadly, our fake cert HAS to be first in this file.
29 TMPFILE=$(mktemp) 49 TMPFILE=$(mktemp)
30 CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem" 50 CERT_FILE="${ROOT_FS_DIR}/etc/login_trust_root.pem"
31 PERMS=$(stat --printf="%a" "${CERT_FILE}") 51 PERMS=$(stat --printf="%a" "${CERT_FILE}")
32 cat "${TMP_CERT}" "${CERT_FILE}" > "${TMPFILE}" 52 cat "${ROOT_FS_DIR}/${TMP_CERT}" "${CERT_FILE}" > "${TMPFILE}"
33 mv -f "${TMPFILE}" "${CERT_FILE}" 53 mv -f "${TMPFILE}" "${CERT_FILE}"
34 chmod "${PERMS}" "${CERT_FILE}" 54 chmod "${PERMS}" "${CERT_FILE}"
35 55
36 56 rm "${ROOT_FS_DIR}/tmp/${QEMU}"
37 57 rm "${ROOT_FS_DIR}/${TMP_KEY}"
58 rm "${ROOT_FS_DIR}/${TMP_CERT}"
OLDNEW
« no previous file with comments | « no previous file | mod_image_for_test.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698