diff options
author | Patrick Spek <p.spek@tyil.nl> | 2020-08-14 11:28:17 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2021-08-14 11:59:41 +0200 |
commit | f7252519beabb35fb2412992a971f20e0d4048a9 (patch) | |
tree | 25560b4d480aabea99863381f28a4989f8746ac3 /.local/bin/crt-fetch | |
parent | aa4d482bec5597fddb7b3374f7a91d71ccfd472b (diff) |
Update crt utils
Diffstat (limited to '.local/bin/crt-fetch')
-rwxr-xr-x | .local/bin/crt-fetch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/.local/bin/crt-fetch b/.local/bin/crt-fetch new file mode 100755 index 0000000..670669f --- /dev/null +++ b/.local/bin/crt-fetch @@ -0,0 +1,50 @@ +#!/bin/sh + +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Affero General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more +# details. + +main() +{ + # Handle opts + while getopts ":h" opt + do + case "$opt" in + h) usage && exit 0 ;; + *) + printf "Invalid option passed: %s\n" "$OPTARG" >&2 + ;; + esac + done + + shift $(( OPTIND - 1 )) + + # Show help + [ -z "$1" ] && usage && exit 1 + + # Perform the request to fetch the certificate, and print it on STDOUT + printf "%s" "" \ + | openssl s_client -connect "$1:${2:-443}" 2> /dev/null \ + | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' +} + +usage() +{ + cat <<EOF +Usage: + ${0##*/} -h + +Nondescript + +Options: + -h Show this help text and exit. +EOF +} + +main "$@" |