首页 文章

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

提问于
浏览
1

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

注意:我需要一个命令行方法

2 回答

  • 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步:为cert生成哈希

    #!/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脚本,然后就完成了 .

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

  • 0

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

相关问题