Utilities/scripts/incert.sh

72 lines
2.0 KiB
Bash

#!/bin/sh
# This installs our cert into firefox, thunderbird, and chrome for linux
# usage: incert.sh cert_name
#
# install for global OS purposes:
# Given a CA ceritificate file 'foo.crt', follow these steps to install it on Ubuntu:
#
# Create a directory for extra CA certificates in /usr/share/ca-certificates
#
# sudo mkdir /usr/share/ca-certificates/extra
# Copy the '.crt' file to the directory
#
# sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
# Add the '.crt' file's path relative to /usr/share/ca-certificates to /etc/ca-certificates.conf
#
# sudo dpkg-reconfigure ca-certificates
# Update the installed CA's
#
# sudo update-ca-certificates
CERT_TOOL=""
if [ "i686" = "$BUILDARCH" ]; then
CERT_TOOL="./certutil_x86"
else
CERT_TOOL="./certutil_x64"
fi
CERT_FILE="certificate.crt"
if [ -e "$1" ]; then
CERT_FILE=$1
fi
CERT_NAME="Dorkbox LLC CA"
# This installs for firefox
if [ -e ~/.mozilla* ]; then
for CERT_DB in $(find ~/.mozilla* -name "cert8.db")
do
CERT_DIR=$(dirname ${CERT_DB});
#log "mozilla certificate" "install '${certificateName}' in ${CERT_DIR}"
"${CERT_TOOL}" -d ${CERT_DIR} -A -n "${CERT_NAME}" -t "TCu,Cu,Cuw,Tuw" -i ${CERT_FILE}
done
fi
# This installs for thunderbird
if [ -e ~/.thunderbird* ]; then
for CERT_DB in $(find ~/.thunderbird* -name "cert8.db")
do
CERT_DIR=$(dirname ${CERT_DB});
#log "mozilla certificate" "install '${certificateName}' in ${CERT_DIR}"
"${CERT_TOOL}" -d ${CERT_DIR} -A -n "${CERT_NAME}" -t "TCu,Cu,Cuw,Tuw" -i ${CERT_FILE}
done
fi
# This installs for chrome
#NSS_DEFAULT_DB_TYPE="sql"
if [ ! -e ~/.pki/nssdb ]; then
echo "==========================="
echo "No Database found. Creating one..."
echo "==========================="
"${CERT_TOOL}" -N -d sql:$HOME/.pki/nssdb
fi
"${CERT_TOOL}" -d sql:$HOME/.pki/nssdb -A -n "${CERT_NAME}" -t "TCu,Cu,Cuw,Tuw" -i ${CERT_FILE}
"${CERT_TOOL}" -d ~/.pki/nssdb -L