標籤:cal uil com 命令 div exp protocol led images
近期公司列出一大堆的東西,其中包括https,啥也不想說,你們是無法理解的苦逼的我的
關於https這些通道可以去百度Google其原理,不廢話,自動產生秘鑰,需要使用jdk內建的命令keytool。關於keytool的使用請查看:這裡或者這裡,我這裡簡單的貼一下使用方式
(1)java工具keytool
常用命令:
(註:產生認證時,CN要和伺服器的網域名稱相同,如果在本地測試,則使用localhost)
keytool -genkey -alias "tomcat" -keyalg "RSA" -keystore "d:\mykeystore" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass "changeit" -storepass -validity 180
參數說明:
-genkey表示要建立一個新的密鑰
-dname表示密鑰的Distinguished Names,
CN=commonName
OU=organizationUnit
O=organizationName
L=localityName
S=stateName
C=country
Distinguished Names表明了密鑰的發行者身份
-keyalg使用加密的演算法,這裡是RSA
-alias密鑰的別名
-keypass私人密鑰的密碼,這裡設定為changeit
-keystore 密鑰儲存在D:盤目錄下的mykeystore檔案中
-storepass 存取密碼,這裡設定為changeit,這個密碼提供系統從mykeystore檔案中將資訊取出
-validity該密鑰的有效期間為 180天 (預設為90天)
刪除
keytool -delete -alias catest -keystore d:\mykeystore
查看
keytool -list
-keysto
re
d:\mykeystore
建立認證
1.伺服器中產生認證:(註:產生認證時,CN要和伺服器的網域名稱相同,如果在本地測試,則使用localhost)
keytool -genkey -alias "tomcat" -keyalg "RSA" -keystore "d:\mykeystore " -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"-keypass "changeit" -storepass "changeit"
2.匯出認證,由用戶端安裝:
keytool -export -alias tomcat -keystore d:\mykeystore -file d:\mycerts.cer -storepass changeit
3.用戶端配置:為用戶端的JVM匯入密鑰(將伺服器下發的認證匯入到JVM中)
keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -file d:\mycerts.cer(這裡是認證產生的路徑,不是秘鑰,而且後續配置的是秘鑰而不是這個認證,不要搞混了) -storepass changeit
之後可以看到產生了 catest.cer 檔案,之後匯入用,keytool的操作就完成了.
配置tomcat
如果是在eclipse上面,那麼找到eclipse的service(如果不是,找到tomcat下面的server.xml檔案),找到server.xml並開啟:
配置如下:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" keystoreFile="d:\catest.key(這裡是第一步產生的秘鑰位置)" keystorePass="zuecun(這裡是秘鑰的密碼)" maxThreads="25" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>
如果還有其他的8443連接埠直接注釋掉
接著找到web.xml(與server.xml在同一個目錄下)並開啟:
在<welcome-file-list>後面配置:
<security-constraint> <web-resource-collection> <web-resource-name>securedapp</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee><!-- 如果你希望關閉 SSL ,只需要將 CONFIDENTIAL 改為 NONE 即可。 --> </user-data-constraint> </security-constraint>
然後啟動伺服器,直接存取會自動跳轉到你配置好的https連接埠為8443,注意的是,你這裡的認證自己建立出來的沒有申請,所以會出現不安全的串連,當然這是本地測試嘛,
最後一句就是歡迎各路大神丟磚或提意見,謝謝~~~
eclipse下的tomcat配置https(最簡單得配置https)