make-ca/update-mscertsign.sh

34 lines
1.3 KiB
Bash

#!/bin/bash
# Simple script to use Microsoft code signing trust from CCADB
CSURL="https://ccadb-public.secure.force.com/microsoft/IncludedRootsPEMTxtForMSFT?MicrosoftEKUs=Code%20Signing"
rm -f mscertsign.txt CS.txt
wget -O mscertsign.txt ${CSURL}
echo "# Mozilla no longer provides any trust information for code signing, opting only
# to supply VERIFY trust, so that Mozilla neither provides policy, nor removes
# the functionality from NSS. The following list of certificate hashes (already
# installed as they have TLS trust from Mozilla) are also trusted by Microsoft
# for code signing. The Microsoft Trusted Root Certificate Program's inclusion
# policy is available for review at:
# https://docs.microsoft.com/en-us/security/trusted-root/program-requirements.
# See https://www.ccadb.org/ for joint efforts between Google, Microsoft, and
# Mozilla to create a unified trust store.
" > CS.txt
date=`date -u`
echo "# List current as of ${date}." >> CS.txt
echo -e "# Move this list to \$SSLDIR and use -i to add code signing trust\n" \
>> CS.txt
startlist=`grep -n "^-----BEGIN" mscertsign.txt | cut -d ":" -f 1`
for certbegin in ${startlist}; do
awk "NR==$certbegin,/^-----END CERTIFICATE-----/" mscertsign.txt \
> ${certbegin}.crt
openssl x509 -noout -in ${certbegin}.crt -hash >> CS.txt
rm ${certbegin}.crt
done
rm -r mscertsign.txt