Tomcat7 安裝StartSSL證書筆記


1.Tomcat-Native安裝

使用StartSSL,Tomcat必須用apr方式啟動(apr方式對於靜態的內容,比默認的bio效率要高很多倍)

  • Windows下tomcat-native安裝

直接復制tcnative-1.dll到bin目錄下即可(需要重啟Ecplise)才能體現

注意:不同的Tomcat,對應的tomcat-native版本也不同,向下兼容,可以去下載最新版的

比如: http://apache.fayea.com/tomcat/tomcat-connectors/native/1.1.32/binaries/tomcat-native-1.1.32-win32-bin.zip

PS:tomcat-native 一般都會帶一個已經編譯好的綠色openssl.exe,很好用,下面會用到

PS: eclipse可能不會自動帶上這個參數,還是以bio模式運行,那就 在Run > Run Configuration > Tomcat xxx > Arguments的VM arguments里寫上參數 

-Djava.library.path="dll的放置路徑"

 

  • Linux下tomcat-native安裝

一般不用下載,在tomcat/bin目錄下就有tomcat-native.tar.gz文件

先下載依賴包,注意需要裝對應版本的openjdk-devel,其實就是openjdk的jdk,默認安裝openjdk,其實是jre

$ yum install gcc gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64
或者
$ apt-get install libapr1.0-dev libssl-dev...

然后,一般這樣就可以了(注意apr的路徑,如果默認路徑,一般可以不配置,用tomcat的執行賬戶編譯運行)

一般在 $tomcat/bin/tomcat-native-1.1.32-src/jni/native 下編譯

$ ./configure --with-apr=/usr/bin/apr-1-config \
$ --with-java-home=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/ \
$ --with-ssl=yes \
$ --prefix=/home/www/tomcat
$ make
$ make install

設置環境變量(可以設定到/etc/profile 或者.bash_profile里)

export LD_LIBRARY_PATH=/home/www/tomcat/lib
export LD_RUN_PATH=/home/www/tomcat/lib

安裝完之后,啟動tomcat

一月 13, 2015 3:43:58 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8888"]
一月 13, 2015 3:43:58 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-443"]
一月 13, 2015 3:43:58 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]

http-apr-8888........說明tomcat已經在使用apr模式(默認是 http-bio-8888)

 

2.申請StartSSL免費證書

申請StartSSL證書,請參考 http://www.cnblogs.com/kreo/p/4221379.html

申請完后你會有一下三個文件,ssl.crt(公鑰),ssl.key(密鑰),ssl.p12(PKCS12格式的證書)

  • 查看證書的內容
$ keytool -list -rfc -keystore ssl.p12 -storetype pkcs12 

如下,記下別名(alias),本文是 startcom pfx certificate (一般都是這個)

  • 生成keystore
$ keytool -importkeystore -srckeystore ssl.p12 -srcstoretype PKCS12 -destkeystore keystore -srcalias "startcom pfx certificate" -destkeypass 123456

srcalias 是上面查到的別名

destkeypass 是默認加密密碼,可能會忽略,重新輸入一次即可

執行完之后,會在目錄下生成名為keystore的文件

  • 合並證書

這步主要是為了FireFox,因為FireFox會要求提供根證書

下載StartSSL CA證書

http://cert.startssl.com/certs/ca.pem

下載StartSSL Class1 Sub CA

http://cert.startssl.com/certs/sub.class1.server.ca.pem

然后把ca.pem和sub.class1.server.ca.pem,加在ssl.crt后面

記事本加一下就可以,這里要注意,每個證書都要有

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

這2個開始結束標記,第一個結束和第二個開始標記不能在一行,不然會報錯

  • 使用OpenSSL加解密功能,改變加密方式,使Tomcat不用啟動就輸入私匙密碼
$ copy ssl.key ssl.key.tmp   
$ openssl rsa -in ssl.key.tmp -out ssl.key  

 

3.Tomcat配置證書

<Connector SSLEnabled="true" URIEncoding="UTF-8" clientAuth="false" 
        SSLCACertificateFile="D:/WorkSpace/ssl/ssl.crt" 
        SSLCertificateFile="D:/WorkSpace/ssl/ssl.crt" 
        SSLCertificateKeyFile="D:/WorkSpace/ssl/ssl.key" 
        keystoreFile="D:/WorkSpace/ssl/keystore" keystorePass="changeit" keystoreType="PKCS12" 
        maxThreads="150" port="443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>  

 

4.把證書導入jre

$ keytool -import -alias cacerts -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -file D:\ssl.crt -trustcacerts

最好所有jre都導一遍,以免出現PKIX path building failed錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM