tomcat增加https访问配置方案.doc_第1页
tomcat增加https访问配置方案.doc_第2页
tomcat增加https访问配置方案.doc_第3页
tomcat增加https访问配置方案.doc_第4页
tomcat增加https访问配置方案.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

客户没有证书,证书自己生成:第一步:为服务器生成证书使用keytool 为 Tomcat 生成证书,假定目标机器的域名是“ localhost ”, keystore 文件存放在“E:keytomcat.keystore ”,口令为“smartdot123456”,使用如下命令生成:keytool-genkey-v-aliastomcat-keyalgRSA-keysize2048-validity3650-keystoreE:keytomcat.keystore -dnameCN=27,OU=cn,O=smartdot,L=cn,ST=cn,c=cn-storepasssmartdot123456-keypasssmartdot123456第二步:生成csr文件用于提交CA认证生成证书使用keytool-certReq-aliastomcat-keystoree:keytomcat.keystore -storepass smartdot123456 -filee:keytomcat.csr第三步:这个tomcat.cer是为了解决不信任时要导入的keytool-export-aliastomcat-keystoree:keytomcat.keystore-filee:keytomcat.cer-storepasssmartdot123456第四步:配置Tomcat 服务器打开Tomcat 根目录下的 /conf/server.xml ,找到如下配置段,修改如下:tomcat 7tomcat 6第五步:web.xml 修改应用程序的web.xml 可以加上这句话: 具体web系统 CLIENT-CERT Client Cert Users-only Area SSL /* CONFIDENTIAL 第六步:perties 端口访问配置organization.service.url=:8443/organization-webapppermission.service.url=:8443/organization-webapppolicy.service.url=:8443/ProcessAdmin到这里启动tomcat,输入 https:/localhost:8443/这时再打开会弹出一个提示框:证书不可信任,有一个警告,说什么需要机构颁发。这时再双击第一步生成的tomcat.cer。一直下一步,最后选“是”。导入后,再输入地址就不是提示了。直接转向tomcat的猫页,说明成功了。这时候如果用程序去访问可能还会抛证书不信任的异常(sun.security.validator.ValidatorException: PKIX path building failed. ),需要将生成的证书(tomcat.cer )keytool-import-aliastomcatsso-fileE:keytomcat.cer-keystoreC:Program FilesJavajdk1.7.0_03jrelibsecuritycacerts-storepasschangeit其中changeit是jre默认的密码。信任这个认证? 否: y认证已添加至keystore中如 拒绝访问使用管理员命令执行如果抛 No subject alternative names present 请在生成keystore 注意CN必须要为域名(或机器名称)例如 localhost 不能为IP如果抛 No name matching localhost found 表示你生成keystore CN的名称和你访问的名称不一致客户有证书并根据证书生成tomcat证书因我们没有证书,因此使用模拟OpenSSL生成ca和server证书OpenSSL 生成客户端和服务证书网上官方网站下载的OPENSSL需要手动去改它的盘符和路径OPENSSL下载地址/soft1/Win32OpenSSL.zip修改openssl.cfg内容中的文件路径 CA_default dir= E:Program Files (x86)OpenSSL-Win32binPEMdemoCAnew_certs_dir= E:keycanewcerts# default place for new certs.新建文件夹 newcertsE:Program Files (x86)OpenSSL-Win32设置环境变量把c:f设成OPENSSL_CONF这样的一个变量,同时把c:opensslbin目录加到你的path里去(根据你们自己的解压后的openssl的实际路径)OPENSSL_CONFE:Program Files (x86)OpenSSL-Win32binopenssl.cfgPATH增加;E:Program Files (x86)OpenSSL-Win32bin;第一步:生成根证书所用的密钥openssl genrsa -des3 -out E:keycaca.key 1024提示输入密码我们使用:smartdot123456再次输入确认密码(密钥,由其是private key是由口令保护的)第二步:去除CA密钥的口令openssl rsa -in E:keycaca.key -out E:keycaca.key输入上述命令后,再次输入密码 smartdot123456即可为什么我们要把好好的口令保护给去除呢?这边不是去除而是代表这个证书在被应用程序启动时不需要显示的提示用户输入口令第三步:生成CA即ROOT CA证书并自签openssl req -new -x509 -key E:keycaca.key -out E:keycaca.crt 由于我们产生的证书为:X509格式,因此需要按照X509格式填入相关的值。AU-国家家的缩写,如:CHINA=CN,美国=USA,英国=UK,日本=JPState or Province Name-省/洲的缩写或者是全称,如:上海=SHLocality Name-城市的全称或者是缩写,如:上海=SHOrganization Name-公司名,如:CognizantCommon Name-要安装这台证书的主机名,证书是和主机名绑定的,如果证书里的主机名和你实际的主机名不符,这张证书就是非法的证书。我们不能够填IP,一定一定要填主机名即域名这样的东西,比如说我填的是,但我的主机怎么知道是指:9或者说是指localhost这台机器呢?打开C:WindowsSystem32driversetchosts这个文件,如下:localhost 9 Look,我们的CA证书生成了,可以双击这张证书,查看信息后关闭它。目前这张ROOT 证书,只是个自签的产品,因为是自签,一般其它客户端的IE里因此是不会带有这张根证书的。要其实客户端也能信任这张根证书,我们必须怎么办?双击证书查看将它安装到我们的IE的信任域里。将ROOT CA导入客户端的根级信任域,有多少台客户端,每个客户端都要导一边这个证书点导入按钮下一步,下一步,此时会有一个弹出框,选“yes(是)”完成导入。再来打开我们的ca.crt文件发现了没有,这张证书是有效的证书了,所以在“证书信息”前原有的一个红叉叉,消失了。第四步:生成Web服务器端证书密钥我们的root证书有了,现在可以生成Web服务器端的证书了,并且用root ca去签名Openssl genrsa -des3 -out E:keycaserver.key 1024先生成密钥,密码 smardot123456执行除去密码命令 openssl rsa -in E:keycaserver.key -out E:keycaserver.key去除密码(提示:enter pass phrase for server.key时输入刚才生成密钥时的密码即smardot123456第五步:生成Web服务器端证书的签名请求openssl req -new -key E:keycaserver.key -out E:keycaserver.csr生成服务器端证书请求时需要输入server端key的口令,我们为了方便,也用6个a。第六步:用Root CA去对Web服务器的证书请求即csr(certificate request)进行签名认证openssl ca -in e:keycaserver.csr -out e:keycaserver.crt -cert e:keycaca.crt -keyfile e:keycaca.key使用ca和server证书生成tomcat证书第一步:为服务器生成证书为Tomcat的server所在的服务器生成一个server.jks文件很多网上的资料是拿原先的server.crt文件转成keystore文件,其实是不对的,需要单独生成一张server.jks文件。怎么生成证书?回顾一下上文:1)生成KEY2)生成证书请求3)用CA签名使用keytool 为 Tomcat 生成证书,假定目标机器的域名是“ localhost ”, keystore 文件存放在“E:keycatomcat.keystore ”,口令为“smartdot123456”,使用如下命令生成:keytool-genkey-v-aliastomcat-keyalgRSA-keysize1024-validity3650-keystoreE:keycatomcat.jks -dnameCN=,OU=cn,O=smartdot,L=BJ,ST=cn,c=cn-storepasssmartdot123456第二步:生成JSK的CSRkeytool -certreq -alias tomcat -sigalg MD5withRSA -file E:keycatomcat.csr -keypass smartdot123456 -keystore E:keycatomcat.jks -storepass smartdot123456此处注意:Alias名必须和上面一致密码和上面一致第三步:使用openssl结合ca.crt与ca.key为jsk的csr来签名认证并产生jks格式的crtopenssl x509 -req -in E:keycatomcat.csr -out E:keycatomcat.crt -CA E:keycaca.crt -CAkey E:keycaca.key -days 3650 -CAcreateserial -sha1 -trustout -CA E:keycaca.crt -CAkey E:keycaca.key -days 3650 -CAserial ca.srl -sha1 trustout于是,我们有了一张符合jks格式的crt证书叫tomcat.crt文件,来查看它。第四步:生成符合x509格式的jks文件将Root CA导入jks信任域:前面我说了,jks信任域是读不到IE的根级信任域的,因此要手动把ca.crt文件导入jks的信任域keytool -import -alias rootca -trustcacerts -file e:keycaca.crt -keystore tomcat.jks -storepass smartdot123456第五步:增加客户端客户端信任tomcat.jks现在我们的tomcat.jks文件中有两个realm(域),一个是:2本身的csr(产生的签书请求认证的域,还没被认证,因为认证的内容变成了toncat.crt文件了是不是?) 刚才步骤中导入的Root CA认证域那么客户端信任Root CA没有问题,但由于server端本身的信任域还只是处于“请求被签名”的状态,那么客户端如何去信任这个jks文件呢?答案就是:补链,补这根信任链!keytool -import -alias tomcatX509 -file e:keycatomcat.crt -keystore e:keycatomcat.jks -storepa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论