您的位置:首页 > 其它

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

2017-05-03 16:17 330 查看
写在前面: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、weblogic的ssl配置准备

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]: cnCN=30.1.32.108, OU=picc, O=picc, L=beijing, ST=beijing, C=cn是否正确? [否]: y2)生成自签名公钥证书【将上述文件中的证书的内容单独导出成一个数字证书文件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.108, OU=picc, O=picc, L=beijing, ST=beijing, C=cn发布者: CN=30.1.32.108, OU=picc, O=picc, L=beijing, ST=beijing, C=cn序列号: 123fd22c有效期开始日期: FriJul1510:34:11CST2016, 截止日期: MonJul1310:34:11CST2026证书指纹: MD5: D3:AB:9E:82:75:C5:BD:8B:61:86:78:3D:2E:5C:B9:14 SHA1: B2:0A:20:68:85:60:29:5D:D0:CD:6C:CF:6D:3D:E7:32:E7:DA:97:8E SHA256: C3: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 扩展: #1: ObjectId: 2.5.29.14Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: D15E1E05E59D3424 08450E110E22203C .^....4$.E..." <0010: F7E2607D ..`.]] 是否信任此证书? [否]: y证书已添加到密钥库中

2、weblogic配置ssl功能

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

2)配置密钥库选择“环境-服务器-ManagedServer7002-配置-密钥库(keystores)”选项卡,按顺序填写相应的配置信息
密钥库: 自定义标识和自定义信任
自定义标识密钥库: identity.jks
自定义标识密钥库类型: KS
自定义标识密钥库密码: 111111
确认自定义标识密钥库密码: 111111
自定义信任密钥库:trust.jks
自定义信任密钥库类型JKS
自定义信任密钥库密码:111111
确认自定义信任密钥库密码111111
如图所示:

3)配置ssl信息选择“环境-服务器-ManagedServer7002-配置-SSL”选项卡,按顺序填写相应的配置信息
私钥别名:picckey
私钥密码:111111
确认私钥密码111111
主机名认证 选择“无”
如图所示:

4)保存所有信息后,点击控制台激活更改重启域打开浏览器,使用https://ip:8888/项目名称出现如下提示即配置完成

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  weblogic ssl