天天看點

http改為https+Tomcat一、證書設定二、Tomcat設定

一、證書設定

1、生成密鑰

-genkeypair 生成密鑰-keyalg 指定密鑰算法,這時指定RSA,

-keysize 指定密鑰長度,預設是1024位,這裡指定2048,最好長一點

-siglag 指定數字簽名算法,這裡指定為SHA1withRSA算法

-validity 指定證書有效期,我這裡指定36500天

-alias 指定别名,這裡是cas.server.com

-keystore 指定密鑰庫存儲位置,這裡存在d盤

-dname 指定使用者資訊,不用一個一個回答它的問題了;

 **注意:CN=域名,我們采用test.sso.com **

keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias test.sso.com -keystore d:/keys/tomcat.keystore      

輸入上述指令,密鑰庫密碼輸入123456,然後回車,就在d盤keys檔案夾下生成了tomcat.keystore檔案;

2、生成證書

keytool -exportcert -alias test.sso.com -keystore d:/keys/tomcat.keystore  -file d:/keys/tomcat.cer -rfc      

3、導入cacerts證書

**注意:導入證書之前首先要把對應jdk路徑下的cacerts删除

keytool -import -alias test.sso.com -keystore %JAVA_HOME%\jre\lib\security\cacerts -file d:/keys/tomcat.cer -trustcacerts      

回車後輸入密碼為 changeit并同意導入;

如果導入出現:非法選項:  Files\Java\jdk1.8.0_111\jre\lib\security\cacerts,那麼需要首先進入到 %JAVA_HOME%\jre\lib\security目錄下,在執行以下代碼:

keytool -import -alias test.sso.com -keystore cacerts -file d:/keys/tomcat.cer -trustcacerts      

如果出現:keytool 錯誤: java.io.FileNotFoundException: cacerts (拒絕通路。),

那麼:找到java的檔案夾,改為完全控制即可。

4、常用指令

//檢視cacerts中的證書清單

keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit      

//删除cacerts中指定名稱的證書

keytool -delete -alias test.sso.com -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit      

二、Tomcat設定

打開$CATALINA_HOME/conf/server.xml,增加

<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="/usr/local/certificate/tomcat.keystore" 
keystorePass="123456" port="8443" />
      

port一般為8443或443,最常用的是443端口(https預設端口),

這樣https方式通路的時候可以不加端口号(如:

https://test.sso.com

);

keystoreFile為tomcat目錄下的密鑰檔案;

keystorePass為私鑰密碼;truststoreFile為生成的信任檔案,