Skip to content

Instantly share code, notes, and snippets.

@RichardBronosky
Last active December 2, 2022 04:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RichardBronosky/4ab330edc33879046cb9b984f66a8676 to your computer and use it in GitHub Desktop.
Save RichardBronosky/4ab330edc33879046cb9b984f66a8676 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -eu
declare -t _lastcmd; trap '_lastcmd="$BASH_COMMAND"' DEBUG; trap 'echo "LINE $LINENO: $_lastcmd"' EXIT;
# export CA PEM from Apple "Keychain Access" app and pass as ARG1
new_ca_cert="$1"
get_python_cert_chain(){
python -m certifi
}
backup_file(){
original_file="$1"
cp -v "$original_file" "$original_file.$(date +%s)"
}
prepend_metadata_comments(){
cert_file="$1"
(
openssl x509 -subject -noout -in "$cert_file"
) | sed $'1i\\\n\n;s/^/# /;'
cat "$cert_file"
}
main(){
original_cert_chain="$(get_python_cert_chain)"
backup_file "$original_cert_chain"
prepend_metadata_comments "$new_ca_cert" \
| tee -a "$original_cert_chain"
}
trap - EXIT
main
@kshenk1
Copy link

kshenk1 commented Jun 17, 2021

nice! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment