使用openssl生成自簽名證書(shū)、配置SSL
Posted on 2008-07-18 12:40 在路上... 閱讀(5863) 評(píng)論(3) 編輯 收藏 所屬分類(lèi): JAVA相關(guān)首先,下載openssl安裝,windows環(huán)境從http://www.openssl.org/related/binaries.html下載。
我這里測(cè)試下載的版本是:http://www.slproweb.com/download/Win32OpenSSL-0_9_8h.exe
安裝完成之后,修改bin目錄下面的openssl.cfg為openssl.cnf,在請(qǐng)求證書(shū)時(shí)需要用到這個(gè)配置文件,生成證書(shū),為了方便,編寫(xiě)了下面的批處理文件,供參考:
@echo off
echo 1.CA 創(chuàng)建一個(gè) RSA 私用密鑰
openssl genrsa -out %1.key 1024

echo.
echo 2.利用 CA 的 RSA 密鑰創(chuàng)建一個(gè)自簽署的 CA 證書(shū)(X.509結(jié)構(gòu))
openssl req -new -x509 -days 36500 -key %1.key -out %1.crt -subj /C=CN/ST=GuangDong/L=GuangZhou/O=SinoTech/OU=CA-SinoTech

echo.
echo 3.CA 創(chuàng)建一個(gè) 服務(wù)端 RSA 私用密鑰
openssl genrsa -out %2.key 1024
echo.

echo 4.創(chuàng)建服務(wù)端簽署請(qǐng)求 CSR
openssl req -new -key %2.key -out %2.csr -subj "/C=CN/ST=GuangDong/L=GuangZhou/O=SinoTech/OU=Serv-SinoTech/CN=SinoTech Weblogic Server"

echo.
echo 5.簽署證書(shū)
rem 準(zhǔn)備一些默認(rèn)文件、目錄,否則運(yùn)行時(shí)會(huì)報(bào)錯(cuò)
if exist "%cd%\newcerts" goto got1
md newcerts
:got1

if exist "%cd%\index.txt" goto got2
echo tmp >_tmp
del _tmp >index.txt
:got2

if exist "%cd%\serial" goto got3
echo AD >serial
:got3

openssl ca -in %2.csr -out %2.crt -cert %1.crt -keyfile %1.key
echo.
echo 處理完成
pause
運(yùn)行批處理
genca.cmd [CA證書(shū)名] [服務(wù)端證書(shū)名]
例如genca.cmd ca server
通過(guò)上面命令,會(huì)生成server.crt,server.key,然后將上面參數(shù)加到tomcat的配置中就可以使用SSL連接方式訪問(wèn)網(wǎng)站應(yīng)用了
<Connector
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="C:\apache-tomcat-6.0.16\conf\server.crt"
SSLCertificateKeyFile="C:\apache-tomcat-6.0.16\conf\server.key"
clientAuth="false" sslProtocol="TLS"/>
我這里測(cè)試下載的版本是:http://www.slproweb.com/download/Win32OpenSSL-0_9_8h.exe
安裝完成之后,修改bin目錄下面的openssl.cfg為openssl.cnf,在請(qǐng)求證書(shū)時(shí)需要用到這個(gè)配置文件,生成證書(shū),為了方便,編寫(xiě)了下面的批處理文件,供參考:





































運(yùn)行批處理
genca.cmd [CA證書(shū)名] [服務(wù)端證書(shū)名]
例如genca.cmd ca server
通過(guò)上面命令,會(huì)生成server.crt,server.key,然后將上面參數(shù)加到tomcat的配置中就可以使用SSL連接方式訪問(wèn)網(wǎng)站應(yīng)用了







