为自签名证书创建安全例外

时间:2009-08-04 02:39:47

标签: ssl debian self-signed

我有一个Debian框,我想通过SSL与远程服务器通信。远程服务器具有自签名证书。如何指示本地计算机为远程计算机创建永久安全例外?

注意:我需要一个命令行方法来实现此

2 个答案:

答案 0 :(得分:2)

我发现这样做的方法是基于http://www.madboa.com/geek/openssl/

的材料

第1步:获取证书

使用get-cert.sh脚本

#!/bin/sh
# 
# usage: retrieve-cert.sh remote.host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}

echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

获取证书文件并将其保存在扩展名为.pem的/ usr / lib / ssl / certs中

第2步:为证书生成哈希

#!/bin/sh
#
# usage: certlink.sh filename [filename ...]

for CERTFILE in $*; do
  # make sure file exists and is a valid cert

  test -f "$CERTFILE" || continue
  HASH=$(openssl x509 -noout -hash -in "$CERTFILE")
  test -n "$HASH" || continue

  # use lowest available iterator for symlink
  for ITER in 0 1 2 3 4 5 6 7 8 9; do
    test -f "${HASH}.${ITER}" && continue
    ln -s "$CERTFILE" "${HASH}.${ITER}"
    test -L "${HASH}.${ITER}" && break
  done
done

在步骤1中下载的文件上运行certlink.sh脚本,然后就完成了。

证书文件的位置可能因操作系统而异。

答案 1 :(得分:0)

你能不能只将远程服务器及其密钥添加到已知主机列表中?