weblogic-使用keytool工具配置SSl加密

简介:

写在前面:weblogic配置ssl加密,使用JDK提供的命令工具keytool生成公钥和私钥

主要原因是因为openssl生成的数字证书不能在java环境中直接使用,至于为什么,大家应该能想到,weblogic,java等都是属于Oracle公司所有。


keytool相关知识:


Keytool 是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)-只包含公钥.
JDK中keytool常用参数说明:

-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)

-alias 产生别名 每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写

-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)

-keyalg 指定密钥的算法 (如 RSA DSA,默认值为:DSA)

-validity 指定创建的证书有效期多少天(默认 90)

-keysize 指定密钥长度 (默认 1024)

-storepass 指定密钥库的密码(获取keystore信息所需的密码)

-keypass 指定别名条目的密码(私钥的密码)

-dname 指定证书发行者信息 其中: “CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名 称,ST=州或省份名称,C=单位的两字母国家代码”

-list 显示密钥库中的证书信息 keytool -list -v -keystore 指定keystore -storepass 密码

-v 显示密钥库中的证书详细信息

-export 将别名指定的证书导出到文件 keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码

-file 参数指定导出到文件的文件名

-delete 删除密钥库中某条目 keytool -delete -alias 指定需删除的别 -keystore 指定keystore – storepass 密码

-printcert 查看导出的证书信息 keytool -printcert -file g:\sso\michael.crt

-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore sage

-storepasswd 修改keystore口令 keytool -storepasswd -keystore g:\sso\michael.keystore(需修改口令的keystore) -storepass pwdold(原始密码) -new pwdnew(新密码)

-import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书


keytool 将密钥和证书储存在一个所谓的密钥仓库中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口令来保护私钥。


我们使用查看密钥库命令:keytool -list -v -keystore trust.jks,之后可以看到信息。

从输出中可见其差别,一个是PrivateKeyEntry(私钥),另一个是trustedCertEntry(公钥)。

其实,密钥库里保存了两类信息,一类是私钥,另一类是证书。而证书里只有公钥。


下面导出的root.cert文件为证书文件,里面没有私钥。因此当我们再导入到trust.jks时,导进去的只有证书、没有对应的私钥。


https的SSL证书分服务器端证书(站点证书)和客户端证书

验证方式分为单向验证(不需要客户端证书也能访问该https站点),双向验证(客户端必须有匹配的证书才能访问该https站点)


查看密钥库命令:keytool -list -v -keystore trust.jks

查看证书命令:keytool -printcert -file root.cer




1、weblogicssl配置准备

1)生成identity.jks密钥库【这个文件中包含公钥和私钥以及证书(包含公钥),在后续配置中,这个文件充当私钥

weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool -genkey -alias picckey -keyalg RSA -keysize 1024 -keypass 111111 -keystore identity.jks -storepass 111111 -validity 3650

您的名字与姓氏是什么?

  [Unknown]:  30.1.32.108

您的组织单位名称是什么?

  [Unknown]:  picc

您的组织名称是什么?

  [Unknown]:  picc

您所在的城市或区域名称是什么?

  [Unknown]:  beijing

您所在的省/市/自治区名称是什么?

  [Unknown]:  beijing

该单位的双字母国家/地区代码是什么?

  [Unknown]:  cn

CN=30.1.32.108OU=piccO=piccL=beijingST=beijingC=cn是否正确?

  [否]:  y

2)生成自签名公钥证书【将上述文件中的证书的内容单独导出成一个数字证书文件root.cer

weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool -export -alias picckey -file root.cer -keystore identity.jks

输入密钥库口令:                             #这里输入密码111111

存储在文件 <root.cer> 中的证书

3)生成trust.jks密钥库【将证书内容导入进去,因此里面包含的是公钥信息,在后续配置中,充当公钥使用

weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool -import -alias picckey -trustcacerts -file root.cer -keystore trust.jks

输入密钥库口令:             #这里输入密码111111

再次输入新口令:             #这里输入密码111111

所有者: CN=30.1.32.108OU=piccO=piccL=beijingST=beijingC=cn

发布者: CN=30.1.32.108OU=piccO=piccL=beijingST=beijingC=cn

序列号: 123fd22c

有效期开始日期: FriJul1510:34:11CST2016, 截止日期: MonJul1310:34:11CST2026

证书指纹:

     MD5D3:AB:9E:82:75:C5:BD:8B:61:86:78:3D:2E:5C:B9:14

     SHA1B2:0A:20:68:85:60:29:5D:D0:CD:6C:CF:6D:3D:E7:32:E7:DA:97:8E

     SHA256C3:BA:43:CC:55:3D:F2:9B:92:6A:E5:91:23:09:15:9B:39:E4:72:AA:20:76:CC:C1:C3:AC:29:FC:F0:22:18:7A

     签名算法名称: SHA256withRSA

     版本:3

 

扩展:

 

#1ObjectId2.5.29.14Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000D15E1E05E59D3424   08450E110E22203C  .^....4$.E..." <

0010F7E2607D                                        ..`.

]

]

 

是否信任此证书? [否]:  y

证书已添加到密钥库中

2、weblogic配置ssl功能

1)浏览器中输入http://30.1.32.108:7001/console访问weblogic控制台。在“环境-服务器-ManagedServer7002-配置-般信息”下开启SSL,并设定SSL端口为8888。如下图:

wKioL1kJka3TPDkRAACQoVdwd9U355.png

2)配置密钥库

选择“环境-服务器-ManagedServer7002-配置-密钥库(keystores)”选项卡,按顺序填写相应的配置信息

密钥库:

自定义标识和自定义信任

自定义标识密钥库:  

identity.jks

自定义标识密钥库类型:  

KS

自定义标识密钥库密码:  

111111

确认自定义标识密钥库密码:  

111111

自定义信任密钥库:

trust.jks

自定义信任密钥库类型

JKS

自定义信任密钥库密码:

111111

确认自定义信任密钥库密码

111111

如图所示:

wKiom1kJkdSArw_fAACn6AE83BQ797.png

3)配置ssl信息

选择“环境-服务器-ManagedServer7002-配置-SSL”选项卡,按顺序填写相应的配置信息

私钥别名:

picckey

私钥密码:

111111

确认私钥密码

111111

主机名认证 

选择“无”

如图所示:

wKiom1kJke3yillsAACPMhEe2sk340.png

4)保存所有信息后,点击控制台激活更改重启域

打开浏览器,使用https://ip:8888/项目名称出现如下提示即配置完成

wKioL1kJkgagmUAzAAEgSofKyok373.png






      本文转自1清风揽月1  51CTO博客,原文链接:http://blog.51cto.com/watchmen/1921639,如需转载请自行联系原作者





相关文章
|
6月前
|
网络安全 数据库
YashanDB HA节点间SSL连接配置
本指南介绍HA内部节点链路的SSL连接配置,包括客户端监听与HA节点自身监听两种方式。需使用OpenSSL工具生成证书,具体步骤参考数据库服务端SSL连接配置文档。此外,还需在数据库中开启HA的SSL连接开关并设置证书路径(仅支持绝对路径,长度≤254字节),最后重启数据库以完成配置。确保服务器已安装所需工具,详细操作请查阅相关文档。
YashanDB HA节点间SSL连接配置
|
2月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
814 10
|
6月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
6月前
|
安全 Linux 网络安全
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
|
3月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
4月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
316 3
Jasypt加密数据库配置信息
|
3月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
903 1
|
4月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
286 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
8月前
|
人工智能 安全 API
这款流行 AI 工具被盗用挖取加密货币,这些隐患你需要知道
Docker 镜像被注入挖矿脚本并不是个别现象,而是一个需要引起重视的安全问题,本文向大家分享下 Higress 防范此类风险的相关经验。
237 98
|
5月前
|
数据采集 监控 API
加密货币 Pump 监测刮刀工具开发原理及实现路径
开发Pump监测刮刀工具需综合运用高频数据采集、波动率建模、跨平台对冲三大核心技术,2025年的技术瓶颈已从基础数据获取转向超低延迟执行与合规适配。建议采用模块化开发策略,优先实现核心监控功能,再逐步接入AI决策与链上套利模块。代码示例需根据最新交易所API文档动态调整,并严格遵守所在地监管法规。

热门文章

最新文章