2009-08-04 24 views
1

我有一個Debian框,我想通過SSL與遠程服務器交談。遠程服務器具有自簽名證書。如何指示我的本地機器爲遠程機器創建永久安全例外?爲自簽名證書創建安全例外

注:我需要爲這個

回答

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腳本,然後完成。

證書文件的位置可能因您的操作系統而異。

+0

這基本上是從擁有自簽名證書的遠程主機獲取證書頒發機構證書,並將其添加到* YOUR *主機上的受信任證書頒發機構列表中。 – 2009-08-07 17:36:21

0

一個命令行方式你能不只是添加遠程服務器和它的已知主機的列表中關鍵?