- 浏览: 197464 次
- 性别:
- 来自: 湖北
-
最新评论
-
xuyu461989426:
上来就是顶你一下,2008年我还在好久远啊
终于搞定了Windows下Tomcat Web服务器的SSL配置 -
zhengyong7232:
黄万里老先生
告诉你一个真实的三峡 -
hexin46373:
对楼主这种标题党表示深深的鄙视!浪费好多人的时间,鄙视之!
Java程序—如何精简JRE或者生成exe -
zlotus:
jre瘦身后 要多测测不同的机器, 容易出问题。没找到好的解决 ...
Java程序—如何精简JRE或者生成exe -
snow284885069:
楼主改改标题吧,耽误我好长时间,没有获取有用的信息,就看到斗嘴 ...
Java程序—如何精简JRE或者生成exe
本文涉及:
1.windows下的OpenSSL安装
2.自己签发根证书
3.用这个根证书来签发服务器证书
4.服务器端证书导入
5.TOMCAT服务器设置
6.客户端根证书安装
本文不涉及:
1.SSL相关的概念及解释
2.购买CA证书
3.双向SSL认证
1.软件准备
1) jsdk1.5下载 http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-1_5_0_15-windows-i586-p.exe?BundledLineItemUUID=skhIBe.l94EAAAEZz_YKv8Xt&OrderID=tzdIBe.l6SoAAAEZxfYKv8Xt&ProductID=9K3ACUFBov0AAAEYe.s5AXuQ&FileName=/jdk-1_5_0_15-windows-i586-p.exe
2)tomcat5.5.26下载http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip
3)openssl0.9.7c下载http://gnuwin32.sourceforge.net/downlinks/openssl-bin.php
2.软件安装
安装(解压)上面下载的软件,假设安装目录如下:
jsdk: C:\jdk1.5.0_15
tomcat: C:\tomcat-5.5.26
openssl: C:\GnuWin32OpenSSL
3.SSL配置
1)添加windows环境变量JAVA_HOME=C:\jdk1.5.0_15
运行C:\tomcat-5.5.26\bin\startup.bat,如果能正常启动,说明环境变量设置成功。
关闭tomcat启动窗口。
2)建目录C:\ca,用来存放生成的临时文件。
3)新建文件C:\GnuWin32OpenSSL\bin\openssl.conf,内容如下:
[ req ]
default_bits = 1024
default_keyfile = ca-key.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
prompt = no
output_password = as12345
[ req_distinguished_name ]
C = CN
ST = Beijing
L = Xichengqu
O = www.albertsong.com
OU = ca.albertsong.com
CN = Albert Song
emailAddress = test@test.com
[ req_attributes ]
challengePassword = as1234567
新建openssl.conf可参考:http://www.openssl.org/docs/apps/req.html#EXAMPLES
4)执行cmd.exe,在命令行窗口执行如下操作:
rem 转到OpenSSL目录
cd C:\GnuWin32OpenSSL\bin
rem 生成CA私钥以及自签名根证书
rem 生成CA私钥
openssl genrsa -out c:\ca\ca-key.pem 1024
rem 生成待签名证书
openssl req -new -out c:\ca\ca-req.csr -key c:\ca\ca-key.pem -config openssl.conf
rem 用CA私钥进行自签名
openssl x509 -req -in c:\ca\ca-req.csr -out c:\ca\ca-cert.pem -signkey c:\ca\ca-key.pem -days 365
rem 转到java bin目录
cd C:\jdk1.5.0_15\bin
rem 生成server端证书
rem 生成KeyPair,注意keyPass,storepass 要一样
keytool -genkey -alias blog_albertsong -validity 365 -keyalg RSA
-keysize 1024 -keypass as.1234 -storepass as.1234 -dname
"cn=localhost,ou=department,o=company,l=Beijing,st=Beijing,c=CN"
-keystore c:\ca\albertsong.jks
rem 生成待签名证书
keytool
-certreq -alias blog_albertsong -sigalg MD5withRSA -file
c:\ca\albertsong.csr -keypass as.1234 -keystore c:\ca\albertsong.jks
-storepass as.1234
rem 转到OpenSSL目录
cd C:\GnuWin32OpenSSL\bin
rem 用CA私钥进行签名
openssl x509 -req -in c:\ca\albertsong.csr -out
c:\ca\albertsong-cert.pem -CA c:\ca\ca-cert.pem -CAkey
c:\ca\ca-key.pem -days 365 -set_serial 1
rem 转到java bin目录
cd C:\jdk1.5.0_15\bin
rem 导入信任的CA根证书到Java的默认位置
keytool -import -v -trustcacerts -storepass changeit -alias
root_albertsong -file c:\ca\ca-cert.pem -keystore
%JAVA_HOME%\jre\lib\security\cacerts
rem 把CA签名后的server端证书导入keystore
rem 提示时,输入as.1234
keytool -import -v -trustcacerts -storepass as.1234 -alias
blog_albertsong -file c:\ca\albertsong-cert.pem -keystore
c:\ca\albertsong.jks
rem 查看server端证书
rem 密码分别是changeit, as.1234
keytool -list -keystore %JAVA_HOME%\jre\lib\security\cacerts
keytool -list -keystore c:\ca\albertsong.jks
5)修改server.xml使Tomcat支持SSL
在C:\tomcat-5.5.26\conf\server.xml找到
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
改为:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:\tomcat-5.5.26\conf\albertsong.jks" keystorePass="as.1234"/>
6)将C:\ca\albertsong.jks复制到C:\tomcat-5.5.26\conf\下。
7)Client端安装信任的根证书
将c:\ca\ca-cert.pem改名为c:\ca\ca-cert.cer,在client端的IE中使用"工具-->Internet选项-->内容-->证书-->导入"把我们生成的CA根证书导入,使其成为用户信任的CA。
8)用IE浏览器使用SSL协议访问Tomcat
执行C:\tomcat-5.5.26\bin\startup.bat启动Tomcat
在IE浏览器的地址栏中输入https://localhost:8443,如果前面的操作都正确的话,应该可以看到Tomcat的欢迎页面。同时状态栏上的小锁处于闭合状态,表示您已经成功地与服务器建立了要求客户端验证的SSL安全连接。
9)其他
rem 修改keystore的keypass
keytool -alias blog_albertsong -keypasswd -keypass as.1234 -new as.12345 -keystore C:\tomcat-5.5.26\conf\albertsong.jks
如果要将tomcat安装成服务,可参考http://www.albertsong.com/read-64.html
参考链接
http://topic.csdn.net/t/20021205/16/1234396.html
http://www.openssl.org/docs/apps/req.html
http://www.herongyang.com/crypto/OpenSSL_Signing_keytool_CSR_5.html
http://gnuwin32.sourceforge.net/packages/openssl.htm
http://www.techscore.com/tech/J2EE/Servlet/11-3.html
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/ssl-howto.html
http://www.daily-labo.com/opensslcnf.txt
http://www.310f.com/exocet/hiki/?Apache+SSL+on+Windows
http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
后记:
虽然是一个简单的问题,也用了我几天的时间,起实质作用的是最后半天。按照这个笔记再来一遍,不过数分钟时间,而且不需要具备任何SSL的相关知识,只要你还能下载到我链接里给出的软件。
评论


如果你生成证书时用了localhost这样的,别人用ip或者域名访问就有问题了。、
rem 生成server端证书
rem 生成KeyPair,注意keyPass,storepass 要一样
keytool -genkey -alias blog_albertsong -validity 365 -keyalg RSA -keysize 1024 -keypass as.1234 -storepass as.1234 -dname "cn=localhost,ou=department,o=company,l=Beijing,st=Beijing,c=CN" -keystore c:\ca\albertsong.jks
我用localhost是用来举例子用的。
你需要换成ip或域名,决定了以后的访问方式。
7)Client端安装信任的根证书
也就是说除非我们去买公认的根证书,不然每个客户端都要导入自己的根证书。即使你有N个网站,导入一次就够了。
有没有更简单的方法不清楚。
我现在是配置成功了,但是其他人访问我的机子时,为什么还是显示该证书有问题呢。
而且都已经装到了证书的受信任的根证书颁发机构,想问一下作者,这是什么问题呢?
谢谢!

嘿嘿嘿,谢谢你啦!

在IE地址栏中输入https://localhost:8443.显示无法打开此页阿

发表评论
-
一道java入门级面试题
2009-06-04 21:43 1430刚刚写了一个解析类似jad文件的函数,突然觉得这个用来做面试题 ... -
如果你来写《Java编程那些事儿》
2009-04-10 16:05 1361好久不去CSDN,去了发现正热播《Java编程那些事儿》 h ... -
Windows下在同一台机器上安装多个Tomcat服务
2008-11-20 09:58 10440本文以Tomcat5.5为例,讲 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(3-1)V0.1
2008-09-08 22:18 4421三、最简单的博客程序 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(3-0)V0.1
2008-09-08 22:04 2933三、最简单的博客程序 写作大纲 1. 博客程序的 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-7)V0.1
2008-08-31 22:29 47113) 配置文件修改 3.1)删除Bitrac\src\com ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-6)V0.1
2008-08-31 22:25 42143. 数据访问层采 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-5)V0.1
2008-08-31 22:24 35582.3)新建DAO类文件 新建MemberDao.java, ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-4)V0.1
2008-08-31 22:23 63392)Spring2和Hibernate集成 2.1)复 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-3)V0.1
2008-08-31 22:19 48311.7)新建AdminAction类 新建文件Bitrac\s ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-2)V0.1
2008-08-31 22:14 75102.集成Spring和Hibernate 1) Strut ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-1)V0.1
2008-08-31 22:05 6872二、最简单的SSH程序 概要 本文将完成最常见的logi ... -
Struts2.1.x+Spring2.5.x+Hibernate3.2.x实例教程(1)V0.1
2008-07-25 00:45 13956一、搭建Windows下Java Web开发环境 概要 ... -
Struts2.1.x+Spring2.5.x+Hibernate3.2.x实例教程(0)V0.1
2008-07-24 23:54 5053序言 为什么要写这个教程? 1. 检验自 ... -
用Bouncy Castle实现AES-128-CBC加密解密
2008-05-23 22:58 17881Bouncy Castle Crypto APIs 是一个开源 ... -
用jar命令将java class文件打包以及编写方便执行jar文件的批处理文件
2008-05-22 13:07 87951.jar文件打包 假设需要 ... -
坚决放弃Hibernate
2007-01-08 16:45 3138现在的一个小项目用Hibernate已经让我觉得很不爽了。 第 ...
相关推荐
Struts2是一个非常流行的...总结起来,配置Struts2应用支持HTTPS涉及服务器SSL配置、Struts2配置、过滤器设置以及可能的拦截器实现。通过这些步骤,可以确保基于Struts2的Web应用在传输敏感数据时具有较高的安全性。
- 将本地开发完成的Web项目的WAR包复制到服务器上的Tomcat目录的`webapps`文件夹下。这将会自动解压并启动项目。 - 启动Tomcat服务,Web应用将在服务器上运行。 - 要从外网访问,将浏览器中的localhost替换为...
1Panel 的功能和优势包括:快速建站:深度集成 Wordpress 和 Halo,域名绑定、SSL 证书配置等一键搞定。高效管理:通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等。安全可靠:...
STM32+OLED_净水器水流量计源码.rar
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
,,基于EKF的三相PMSM无传感器矢量控制,基于卡尔曼滤波器的无速度传感器 ,核心关键词:基于EKF的三相PMSM无传感器矢量控制; 基于卡尔曼滤波器的无速度传感器。,基于EKF与卡尔曼滤波器的三相PMSM无传感器矢量控制研究
在智慧城市建设的大潮中,智慧园区作为其中的璀璨明珠,正以其独特的魅力引领着产业园区的新一轮变革。想象一下,一个集绿色、高端、智能、创新于一体的未来园区,它不仅融合了科技研发、商业居住、办公文创等多种功能,更通过深度应用信息技术,实现了从传统到智慧的华丽转身。 智慧园区通过“四化”建设——即园区运营精细化、园区体验智能化、园区服务专业化和园区设施信息化,彻底颠覆了传统园区的管理模式。在这里,基础设施的数据收集与分析让管理变得更加主动和高效,从温湿度监控到烟雾报警,从消防水箱液位监测到消防栓防盗水装置,每一处细节都彰显着智能的力量。而远程抄表、空调和变配电的智能化管控,更是在节能降耗的同时,极大地提升了园区的运维效率。更令人兴奋的是,通过智慧监控、人流统计和自动访客系统等高科技手段,园区的安全防范能力得到了质的飞跃,让每一位入驻企业和个人都能享受到“拎包入住”般的便捷与安心。 更令人瞩目的是,智慧园区还构建了集信息服务、企业服务、物业服务于一体的综合服务体系。无论是通过园区门户进行信息查询、投诉反馈,还是享受便捷的电商服务、法律咨询和融资支持,亦或是利用云ERP和云OA系统提升企业的管理水平和运营效率,智慧园区都以其全面、专业、高效的服务,为企业的发展插上了腾飞的翅膀。而这一切的背后,是大数据、云计算、人工智能等前沿技术的深度融合与应用,它们如同智慧的大脑,让园区的管理和服务变得更加聪明、更加贴心。走进智慧园区,就像踏入了一个充满无限可能的未来世界,这里不仅有科技的魅力,更有生活的温度,让人不禁对未来充满了无限的憧憬与期待。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
书房中如何利用镜面增加空间感与光线
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
,,pmsm电阻电感磁链常数辨识源码 电阻,电感,磁链常数辨识。 程序在ti dsp实现。 在ti开源foc框架基础上开发。 能够辨识电机电阻,电感,磁链常数。 精度较高,能够满足foc控制需要。 辨识时间短,大约两秒完成电阻电感辨识。 磁链辨识需要电机旋转。 多次辨识,结果一致性好。 辨识部分代码不包含寄存器操作,易于跨平台移植。 辨识大致原理: 电阻辨识发一个固定的电压矢量,检测电流 电感辨识发一个高频旋转的电压矢量,检测电流,计算感抗。 磁链辨识通过if控制让电机旋转,通过电压电流模型计算转子磁链分量。 ,PMSM; 电阻电感磁链常数辨识; TI DSP实现; TI开源FOC框架; 电机参数辨识; 高精度; 短辨识时间; 跨平台移植; 电阻辨识原理; 电感辨识原理; 磁链辨识原理。,基于TI DSP的PMSM电阻电感磁链常数快速高精度辨识源码
,,三菱,FX3U,plc程序模板和触摸屏程序模板,适用于运动轴控制,程序可以在自动的时候暂停进行手动控制,适用于一些中大型设备,可以防止某个气缸超时时,处于自动模式,能够轻松处理,处理完成后,恢复原来的气缸,解除暂停即可,思路清晰,编程效率大大提高,程序里附带和仪表的无协议通讯,并且附带最常用的手册。 ,关键词:三菱;FX3U;PLC程序模板;触摸屏程序模板;运动轴控制;自动/手动控制;气缸超时处理;无协议通讯;编程效率;最常用手册。,三菱FX3U PLC程序模板:中大型设备运动轴控制与气缸超时保护
内容概要:本文介绍了使用 Matlab 实现基于 BO(贝叶斯优化)的 Transformer 结合 GRU 门控循环单元时间序列预测的具体项目案例。文章首先介绍了时间序列预测的重要性及其现有方法存在的限制,随后深入阐述了该项目的目标、挑战与特色。重点描述了项目中采用的技术手段——结合 Transformer 和 GRU 模型的优点,通过贝叶斯优化进行超参数调整。文中给出了模型的具体实现步骤、代码示例以及完整的项目流程。同时强调了数据预处理、特征提取、窗口化分割、超参数搜索等关键技术点,并讨论了系统的设计部署细节、可视化界面制作等内容。 适合人群:具有一定机器学习基础,尤其是熟悉时间序列预测与深度学习的科研工作者或从业者。 使用场景及目标:适用于金融、医疗、能源等多个行业的高精度时间序列预测。该模型可通过捕捉长时间跨度下的复杂模式,提供更为精准的趋势预判,辅助相关机构作出合理的前瞻规划。 其他说明:此项目还涵盖了从数据采集到模型发布的全流程讲解,以及GUI图形用户界面的设计实现,有助于用户友好性提升和技术应用落地。此外,文档包含了详尽的操作指南和丰富的附录资料,包括完整的程序清单、性能评价指标等,便于读者动手实践。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
自驾游中的导航技巧提升
各个操作系统版本的gdal2.4库(包括win32、win64、centos7、centosAarch64、c#、linux32、ubuntu64)。 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。以下是对GDAL库的详细介绍: 全称:Geospatial Data Abstraction Library 性质:开源栅格空间数据转换库 用途:进行数据转换和处理 开发语言:C/C++ 数据格式支持:GDAL支持大量的栅格和矢量数据格式,包括常见的地理空间数据格式如GeoTIFF、ESRI Shapefile、GeoJSON、NetCDF、GML等,以及一些专用格式。 数据读取和写入:GDAL可以从不同的数据源中读取地理空间数据,例如文件、数据库、网络服务等,并且可以将数据写入到不同的输出格式。 数据转换和处理:GDAL可以进行各种数据转换和处理操作,包括坐标系转换、重采样、镶嵌、裁剪、投影变换等。此外,它还提供了图像处理和分析功能,如颜色空间转换、直方图均衡化、图像融合、图像代数等。
漫画作品与人工智能想象
,,FPGA以SPI模式读写SD卡,已经下板验证通过。 可移植到任何FPGA之中。 ,核心关键词:FPGA; SPI模式; SD卡读写; 下板验证; 可移植性。,FPGA SPI模式SD卡读写技术,移植通用性极强