
2、观察weblogic方便开发部署提供的演示秘钥库
(秘钥库位置为:\weblogic11\wlserver_10.3\server\lib)

3、观察ssl的默认演示配置

那么在开发过程中,只需要在第一幅图上勾选“启用ssl监听端口”即可。
正式环境中,有哪些变化呢?主要就是更改上面2、3图中的配置,改为实际的秘钥库、以及根据实际的秘钥库来配置SSL。
网上可以搜到很多weblogic配置ssl相关资料,但是很多配置在实际环境中,都是跑不起来的。究其原因,有两点(1、需要去ca认证中心对 产生的证书请求进行签证;2、更有甚者,直接使用keytool来制作,压根没提签证这回事)。weblogic配置ssl,需要标识(私钥和数字证 书)、信任(可信证书颁发机构颁发的证书),所以光通过产生私钥直接配置肯定是不行的。
下面是具体的步骤:
1、下载openssl工具
这里使用openssl工具来制作这些秘钥、ca根证书等等。
openssl的windows安装文件放在网盘中,如果有需要随时下载。网盘地址为:
http://pan.baidu.com/share/link?shareid=421723979&uk=3222190371
我的安装路径为:D:\work\OpenSSL
安装之后,打开cmd进入到bin目录下,即D:\work\OpenSSL\bin。开始制作根证书、秘钥等。
2、制作CA根证书
- D:\work\OpenSSL\bin>openssl genrsa -out ca/ca-key.pem 1024
- Loading 'screen' into random state - done
- Generating RSA private key, 1024 bit long modulus
- ...............++++++
- ...++++++
- e is 65537 (0x10001)
- D:\work\OpenSSL\bin>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem -config openssl.cnf
- You are about to be asked to enter information that will be incorporated
- into your certificate request.
- What you are about to enter is what is called a Distinguished Name or a DN.
- There are quite a few fields but you can leave some blank
- For some fields there will be a default value,
- If you enter '.', the field will be left blank.
- -----
- Country Name (2 letter code) [AU]:CN
- State or Province Name (full name) [Some-State]:AH
- Locality Name (eg, city) []:HF
- Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAROOT
- Organizational Unit Name (eg, section) []:CA
- Common Name (eg, YOUR name) []:ahhx202
- Email Address []://这里直接回车,不配置
- Please enter the following 'extra' attributes
- to be sent with your certificate request
- A challenge password []://这里直接回车,不配置
- An optional company name []:这里直接回车,不配置
- D:\work\OpenSSL\bin>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
- Loading 'screen' into random state - done
- Signature ok
- subject=/C=CN/ST=AH/L=HF/O=CAROOT/OU=CA/CN=ahhx202
- Getting Private key
3、通过keytool工具产生秘钥、及证书请求文件,然后使用openssl上一步产生的ca根证书对证书请求进行签证,并且
- D:\work\OpenSSL\bin>keytool -genkey -alias example -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks
- 您的名字与姓氏是什么?
- [Unknown]: ahhx202
- 您的组织单位名称是什么?
- [Unknown]: CAROOT
- 您的组织名称是什么?
- [Unknown]: CA
- 您所在的城市或区域名称是什么?
- [Unknown]: HF
- 您所在的省/市/自治区名称是什么?
- [Unknown]: AH
- 该单位的双字母国家/地区代码是什么?
- [Unknown]: CN
- CN=ahhx202, OU=CAROOT, O=CA, L=HF, ST=AH, C=CN是否正确?
- [否]: y
- D:\work\OpenSSL\bin>keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456
- D:\work\OpenSSL\bin>openssl x509 -req -in example.csr -out example.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 365 -set_serial 1
- Loading 'screen' into random state - done
- Signature ok
- subject=/C=CN/ST=AH/L=HF/O=CA/OU=CAROOT/CN=ahhx202
- Getting CA Private Key
- D:\work\OpenSSL\bin>keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore example.jks
- 所有者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN
- 发布者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN
- 序列号: c1dedc7b5ba58f41
- 有效期开始日期: Wed Sep 11 21:37:29 CST 2013, 截止日期: Sat Sep 09 21:37:29 CST
- 2023
- 证书指纹:
- MD5: 22:26:1A:F1:A0:D8:A9:80:05:CA:12:A2:C0:EB:30:11
- SHA1: CB:C2:96:74:2A:03:9B:F8:39:F2:19:D8:5D:40:95:E7:25:27:64:73
- SHA256: 61:48:18:5E:49:27:13:38:69:B7:01:C1:ED:98:59:8A:B8:85:26:A8:D3:
- 5D:2E:EC:1E:DB:7E:59:71:AB:01:34
- 签名算法名称: MD5withRSA
- 版本: 1
- 是否信任此证书? [否]: Y
- 证书已添加到密钥库中
- [正在存储example.jks]
- D:\work\OpenSSL\bin>keytool -import -v -trustcacerts -storepass 123456 -alias example -file example.pem -keystore example.jks
- 证书回复已安装在密钥库中
- [正在存储example.jks]
- D:\work\OpenSSL\bin>keytool -import -alias example-ca -trustcacerts -file ca/ca-cert.pem -keystore exampletrust.jks
- 输入密钥库口令:123456
- 再次输入新口令:123456
- 所有者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN
- 发布者: CN=ahhx202, OU=CA, O=CAROOT, L=HF, ST=AH, C=CN
- 序列号: c1dedc7b5ba58f41
- 有效期开始日期: Wed Sep 11 21:37:29 CST 2013, 截止日期: Sat Sep 09 21:37:29 CST
- 2023
- 证书指纹:
- MD5: 22:26:1A:F1:A0:D8:A9:80:05:CA:12:A2:C0:EB:30:11
- SHA1: CB:C2:96:74:2A:03:9B:F8:39:F2:19:D8:5D:40:95:E7:25:27:64:73
- SHA256: 61:48:18:5E:49:27:13:38:69:B7:01:C1:ED:98:59:8A:B8:85:26:A8:D3:
- 5D:2E:EC:1E:DB:7E:59:71:AB:01:34
- 签名算法名称: MD5withRSA
- 版本: 1
- 是否信任此证书? [否]: Y
- 证书已添加到密钥库中
这一步会产生两个秘钥库文件:example.jks、exampletrust.jks在ssl的配置中使用到。先把这两个文件复制到如下位置:
weblogic11\user_projects\domains\example\
即域的根目录下。
4、秘钥库配置:
启动domain并登录weblogic控制台,进入如图所示页面:

点击更改按钮,如下图所示:

默认是“演示标识和演示信任”,这里选择“定制标识和定制信任”并保存。
继续配置如下图所示的“标识、信任”,

由于之前制作秘钥的时候,密码统一为123456,这里可直接按照图中配置即可。密码部分全部输入123456,记得点击“保存”按钮。
注意:秘钥库类型为空,则表示使用默认的jks类型。
5、ssl配置:
选择ssl面板,如下图所示:

输入私有秘钥别名及私有秘钥密码(这里就是example.jks的相关信息,名称为example,密码为123456)
输入完成,记得保存。
至此,单向SSL配置完毕。大家可以把第二篇介绍的springside3的mini-web例子放在上面跑,使用 https://localhost:7002/mini-web的url访问,如果按照上面步骤,应该不会有问题。或者直接使用https: //localhost:7002/console来访问控制台进行测试。
双向SSL,在weblogic的配置方面,只需要修改下图的配置即可:
还是刚才的ssl配置界面,点击下面的高级链接:

找到“双向客户机证书行为”,选择“请求客户机证书并强制使用”表示如果使用https访问应用时,必须强制客户端浏览器提供证书。

修改完成,点击保存即可。
下面是springside3(mini-web)整合ssl时需要修改的配置:
修改文件:applicationContext-security.xml,如下:
- <!-- http安全配置 -->
- <s:http auto-config="true" use-expressions="true">
- <s:intercept-url pattern="/css/**" filters="none" />
- <s:intercept-url pattern="/img/**" filters="none" />
- <s:intercept-url pattern="/js/**" filters="none" />
- <s:intercept-url pattern="/account/user!save*" access="hasAnyRole('ROLE_修改用户')" />
- <s:intercept-url pattern="/account/user!delete*" access="hasAnyRole('ROLE_修改用户')" />
- <s:intercept-url pattern="/account/user*" access="hasAnyRole('ROLE_浏览用户')" />
- <s:intercept-url pattern="/account/role!save*" access="hasAnyRole('ROLE_修改角色')" />
- <s:intercept-url pattern="/account/role!delete*" access="hasAnyRole('ROLE_修改角色')" />
- <s:intercept-url pattern="/account/role*" access="hasAnyRole('ROLE_浏览角色')" />
- <s:x509 user-service-ref="userDetailsService" subject-principal-regex="CN=(.*?)$"/>
- <s:form-login login-page="/login.action" default-target-url="/" authentication-failure-url="/login.action?error=true" />
- <s:logout logout-success-url="/" />
- </s:http>
以上仅增加了x509的配置即可。注意后面的subject-principal-regex视具体情况而定。默认的是【CN=(.*?),】, 而我这里配置的是【CN=(.*?)$】这么改的原因是由于我这边的客户端证书主题标识CN放在最后了,如:【C=CN, ST=AH, L=HF, O=CAROOT, OU=CA, CN=admin】,所以subject-principal-regex就是用来如何匹配CN值的正则表达式。
现在weblogic已经支持双向ssl认证了,spring security也增加ssl认证的配置了,现在就缺少客户端证书了,不急,下面继续使用openssl来制作客户端证书
- 产生user账号对应的秘钥:
- D:\work\OpenSSL\bin>openssl genrsa -out user-key.pem 1024
- Loading 'screen' into random state - done
- Generating RSA private key, 1024 bit long modulus
- .....................................++++++
- ..++++++
- e is 65537 (0x10001)
- 根据user的秘钥产生证书请求csr文件:
- D:\work\OpenSSL\bin>openssl req -new -out user-req.csr -key user-key.pem
- You are about to be asked to enter information that will be incorporated
- into your certificate request.
- What you are about to enter is what is called a Distinguished Name or a DN.
- There are quite a few fields but you can leave some blank
- For some fields there will be a default value,
- If you enter '.', the field will be left blank.
- -----
- Country Name (2 letter code) [AU]:CN
- State or Province Name (full name) [Some-State]:AH
- Locality Name (eg, city) []:HF
- Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAROOT
- Organizational Unit Name (eg, section) []:CA
- Common Name (eg, YOUR name) []:user//这里是指登录账号,与用户表的账号对应
- Email Address []:
- Please enter the following 'extra' attributes
- to be sent with your certificate request
- A challenge password []:
- An optional company name []:
- 使用openssl之前制作的ca根证书对证书请求文件进行签证:
- D:\work\OpenSSL\bin>openssl x509 -req -in user-req.csr -out user-cert.pem -signkey user-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365
- Loading 'screen' into random state - done
- Signature ok
- subject=/C=CN/ST=AH/L=HF/O=CAROOT/OU=CA/CN=user
- Getting Private key
- Getting CA Private Key
- 将签证之后的证书文件user-cert.pem导出为p12格式文件(p12格式可以被浏览器识别并安装到证书库中)
- D:\work\OpenSSL\bin>openssl pkcs12 -export -clcerts -in user-cert.pem -inkey user-key.pem -out user.p12
- Loading 'screen' into random state - done
- Enter Export Password://不输入密码,为空
- Verifying - Enter Export Password://不输入密码,为空
- 将签证之后的证书文件user-cert.pem导入至信任秘钥库中(这里由于没有去ca认证中心购买个人证书,所以只有导入信任库才可进行双向ssl交互)
- D:\work\OpenSSL\bin>keytool -import -alias user -trustcacerts -file user-cert.pem -keystore exampletrust.jks
需要把最后增加证书的信任秘钥库exampletrust.jks重新复制到domain目录下。
接下来,双击刚才生成的p12文件,将用户证书安装到浏览器的证书库中,步骤就不说了。
现在重新启动weblogic的domain,访问https://localhost:7002/mini-web,出现如下图所示界面:

由于user证书已经安装到浏览器的证书库中了,当访问mini-web时,弹出确认证书窗口

确定之后,需要授予权限,并且输入授权的密码。点击确定按钮之后,直接由spring security根据证书的CN标识完成自动登录,并授予权限,如下图所示:

至此,weblogic的ssl(单向、双向)总算梳理完毕。不足的地方,还有待补充。
相关推荐
Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...
python教程学习
tdac034.pdf
veclibm111111111111
nssm工具,进行2次解压后即可
视讯镜头优化,操作不走
【数据结构】的资源,包括书籍、在线课程和网站
北京大学-DeepSeek系列-提示词工程和落地场景.pdf.png
【财信国际经济研究院-2025研报】2025年2月CPI和PPI数据点评:通胀低于预期,内需亟待提振.pdf
【毕业设计】java-springboot+vue精品在线试题库系统源码(完整前后端+mysql+说明文档+LunW).zip
python安装-25.求 a 的 b 次方——有点不好意思哈.py
代码实现了自适应IMM(交互式多模型)算法,专注于对目标状态进行估计,并结合了匀速(CV)和匀加速(CA)运动模型。它使用自适应观测噪声估计和扩展卡尔曼滤波器(EKF)作为滤波主体,并在最后提供误差统计特性输出。
中产品工业物联网联网的基础功能,是企业开启数字化转型的入门之选。它能帮助企业快速搭建起基础的设备数据采集与监控体系,以较低成本实
北京大学DeepSeek系列-DeepSeek与AIGC应用.pdf.png
【毕业设计-java】springboot-vue基于多维分类的知识管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
## 一、数据介绍 本数据参考C刊《管理评论》佟岩(2024)老师的做法,使用各年度省级政府工作报告中“减碳”关键词的词频总数来测度地方政府对“减碳”的重视程度,“减碳”关键词包括二氧化碳、低碳、减排、节能、能耗、环境保护(环保)、生态、绿色。 本数据包含:原始数据、参考文献、代码do文件、最终结果。 ## 二、参考文献: 佟岩,李鑫,徐国铨.企业集团碳减排压力与债务分布-来自高耗能上市公司的经验证据[J].管理评论,2024,36(02):210-221.DOI:10.14120/j.cnki.cn11-5057/f.2024.02.014 ## 三、相关数据:城市、城市编码、年份、减碳重视程度词频。
python教程学习
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
python学习一些项目和资源