seo网站改版,租赁服务器做电影网站,电子工程王牌专业,深圳建设厅网站首页tomcat 服务器配置 https 双向认证
对外开放的网站一般都会提供安全证书#xff0c;已保证应用的安全性。
在HTTPS通信中#xff0c;使用抓包工具如Sniffmaster可以方便地监控和解析流量#xff0c;尤其支持HTTPS暴力抓包和双向验证爆破#xff0c;帮助开发者调试安全配置。…tomcat 服务器配置 https 双向认证对外开放的网站一般都会提供安全证书已保证应用的安全性。在HTTPS通信中使用抓包工具如Sniffmaster可以方便地监控和解析流量尤其支持HTTPS暴力抓包和双向验证爆破帮助开发者调试安全配置。我们可以通过 keytool Windows下路径%JAVA_HOME%/bin/keytool.exe 工具生成自签名证书。keytool 命令解释-genkey 在用户主目录中创建一个默认文件“.keystore”-alias 产生别名,每个keystore都关联这一个独一无二的alias-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中-keyalg 指定密钥的算法 (如 RSA DSA如果不指定默认采用DSA-validity 指定创建的证书有效期多少天-keysize 指定密钥长度-storepass 指定密钥库的密码(获取keystore信息所需的密码)-keypass 指定别名条目的密码(私钥的密码)-dname 指定证书拥有者信息 CN名字与姓氏,OU组织单位名称,O组织名称,L城市或区域名称,ST州或省份名称,C单位的两字母国家代码-list 显示密钥库中的证书信息-v 显示密钥库中的证书详细信息-export 将别名指定的证书导出到文件-file 参数指定导出到文件的文件名-delete 删除密钥库中某条目-keypasswd 修改密钥库中指定条目口令-import 将已签名数字证书导入密钥库1.首先是生成服务端证书keytool -genkey -keyalg RSA -dname “cnlocalhost,outest,otest,lchina,stshanghai,ccn” -alias server -keypass password -keystore e:/cert/server.jks -storepass password -validity 3650注意上面的 cnlocalhost这是必填项并且必须是TOMCAT部署主机的域名或者IP[如 或者 10.1.25.251]就是你将来要在浏览器中输入的访问地址否则浏览器会弹出警告窗口提示用户证书与所在域不匹配。在本地做开发测试时应填入“localhost”。2.生成客户端证书keytool -genkey -keyalg RSA -dname “cntest,outest,otest,lchina,st上海,ccn” -alias custom -storetype PKCS12 -keypass password -keystore e:/cert/custom.p12 -storepass password -validity 3650客户端的 cn 值可以随便设置并没有限制3.由于是双向SSL认证服务器必须要信任客户端证书因此必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入我们必须先把客户端证书导出为一个单独的CER文件.keytool -export -alias custom -file custom.cer -keystore custom.p12 -storepass password -storetype PKCS12 -rfc4.将客户端证书添加到服务端证书中keytool -import -v -alias custom -file custom.cer -keystore server.jks -storepass password5.查看证书内容keytool -list -v -keystore server.jks -storepass password6.生成服务端浏览器证书keytool -export -v -alias server -keystore server.jks -storepass password -rfc -file server.cer将服务端证书server.cer导入到 “受信任的根证书颁发机构” 中现在修改tomcat server.xml 文件。找到如下位置Connectorport8090protocol“org.apache.coyote.http11.Http11Protocol”connectionTimeout“20000”SSLEnabled“true”maxThreads150schemehttpssecure“true”clientAuthtruesslProtocol“TLS”keystoreFiled:/cert/server.jkskeystorePass“password”truststoreFiled:/cert/server.jkstruststorePass“password”;如果没有修改过端口则通常情况下不是 8090 而是 8080.注意如果 protocol“HTTP/1.1” 会出现访问不了 tomcat 主页。必须写 protocol“org.apache.coyote.http11.Http11Protocol”补充后续发现并不是所有的 tomcat 版本都必须 protocol“org.apache.coyote.http11.Http11Protocol”具体情况需要根据 tomcat 版本而定。隔天为 tomcat 6 版本添加证书时就发现protocol“HTTP/1.1” 也有效果。那我们如何确定应该是 protocol“HTTP/1.1” or protocol“org.apache.coyote.http11.Http11Protocol” 呢最简单办法是根据 server.xml 内部的注释首先是 tomcat 6.0.35 版本 server.xml然后是tomcat 7.0.57 版本server.xml然后修改 tomcatweb.xml 文件在 后面添加CLIENT-CERTClient Cert Users-only AreaSSL/*CONFIDENTIAL在测试HTTPS双向认证配置时使用抓包工具Sniffmaster可以有效监控和解析HTTPS流量支持双向验证爆破无需代理或越狱帮助验证通信安全性。重启tomcat访问https://localhost:8090 验收成果。