#!/bin/sh
usage() {
ex="${1:-0}"
echo "Usage: $0 <host> [<port>]"
echo "\n\tPort will be set to 443 by default"
exit $ex
}
host="$1"
if [ -z $host ] ; then
usage 1
fi
port="${2:-443}"
ssl=/usr/bin/openssl
cu=/usr/bin/certutil
tmp="$(tempfile)"
trap 'rm $tmp' 1 2 3 15
echo |
openssl s_client -connect $host:$port 2>&1 |
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > $tmp
certutil -d sql:$HOME/.pki/nssdb -A -t CP,,C -n "$host" -i $tmp
rm $tmp
本文详细介绍了如何使用 shell 脚本结合 openssl 和 certutil 工具来连接指定主机和端口,并从远程服务器获取证书的过程。通过简单的命令行操作,实现了证书的获取和本地存储,适用于需要频繁处理 SSL/TLS 相关任务的场景。

861

被折叠的 条评论
为什么被折叠?



