丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
写在前面:weblogic配置ssl加密,使用JDK提供的命令工具keytool生成公钥和私钥
Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Keyentity)-密钥(secretkey)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trustedcertificateentries)-只包含公钥.JDK中keytool常用参数说明:
-genkey在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)
-alias产生别名每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写
-keystore指定密钥库的名称(产生的各类信息将不在.keystore文件中)
-keyalg指定密钥的算法(如RSADSA,默认值为: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-fileg:\sso\michael.crt
-keypasswd修改密钥库中指定条目口令keytool-keypasswd-alias需修改的别名-keypass旧密码-new新密码-storepasskeystore密码-keystoresage
-storepasswd修改keystore口令keytool-storepasswd-keystoreg:\sso\michael.keystore(需修改口令的keystore)-storepasspwdold(原始密码)-newpwdnew(新密码)
-import将已签名数字证书导入密钥库keytool-import-alias指定导入条目的别名-keystore指定keystore-file需导入的证书
keytool将密钥和证书储存在一个所谓的密钥仓库中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口令来保护私钥。
我们使用查看密钥库命令:keytool-list-v-keystoretrust.jks,之后可以看到信息。
从输出中可见其差别,一个是PrivateKeyEntry(私钥),另一个是trustedCertEntry(公钥)。
其实,密钥库里保存了两类信息,一类是私钥,另一类是证书。而证书里只有公钥。
下面导出的root.cert文件为证书文件,里面没有私钥。因此当我们再导入到trust.jks时,导进去的只有证书、没有对应的私钥。
查看密钥库命令:keytool-list-v-keystoretrust.jks
查看证书命令:keytool-printcert-fileroot.cer
1)生成identity.jks密钥库【这个文件中包含公钥和私钥以及证书(包含公钥),在后续配置中,这个文件充当私钥】
weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool-genkey-aliaspicckey-keyalgRSA-keysize1024-keypass111111-keystoreidentity.jks-storepass111111-validity3650
您的名字与姓氏是什么
[Unknown]:30.1.32.108
您的组织单位名称是什么
[Unknown]:picc
您的组织名称是什么
您所在的城市或区域名称是什么
[Unknown]:beijing
您所在的省/市/自治区名称是什么
该单位的双字母国家/地区代码是什么
[Unknown]:cn
CN=30.1.32.108,OU=picc,O=picc,L=beijing,ST=beijing,C=cn是否正确
[否]:y
2)生成自签名公钥证书【将上述文件中的证书的内容单独导出成一个数字证书文件root.cer】
weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool-export-aliaspicckey-fileroot.cer-keystoreidentity.jks
输入密钥库口令:#这里输入密码111111
存储在文件
3)生成trust.jks密钥库【将证书内容导入进去,因此里面包含的是公钥信息,在后续配置中,充当公钥使用】
weblogic@ydckmap-test:~/domains/mcpinterf_domain>keytool-import-aliaspicckey-trustcacerts-fileroot.cer-keystoretrust.jks
再次输入新口令:#这里输入密码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=false
SubjectKeyIdentifier[
KeyIdentifier[
0000:D15E1E05E59D342408450E110E22203C.^....4$.E..."<
0010:F7E2607D..`.
]
是否信任此证书[否]:y
证书已添加到密钥库中
2)配置密钥库
选择“环境-服务器-ManagedServer7002-配置-密钥库(keystores)”选项卡,按顺序填写相应的配置信息
密钥库:
自定义标识和自定义信任
自定义标识密钥库:
identity.jks
自定义标识密钥库类型:
KS
自定义标识密钥库密码:
111111
确认自定义标识密钥库密码:
自定义信任密钥库:
trust.jks
自定义信任密钥库类型
JKS
自定义信任密钥库密码:
确认自定义信任密钥库密码
如图所示:
3)配置ssl信息
选择“环境-服务器-ManagedServer7002-配置-SSL”选项卡,按顺序填写相应的配置信息