一、准备工作
1、获取SSL证书
1.1、云平台申请
腾讯云、阿里云等云平台,可以为已注册的域名免费申请为期一年的SSL证书
cmd到jdk的bin下
keytool -importkeystore -srckeystore pfx文件名 -srcstoretype pkcs12 -destkeystore jks文件名 -deststoretype JKS
备注:阿里云下载的证书类型为pfx
1.2、自签名
1、openssl工具用来制作密钥、CA根证书。网上直接搜索openssl下载即可。
2、创建ca文件夹
mkdir ca
3、创建私钥
openssl genrsa -out ca/ca-key.pem 1024
4、创建证书请求
openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem
5、生成CA自签名证书
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
6、用keytool工具生成密钥
keytool -genkey -alias sso -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore sso.jks
(您的名字与姓氏是什么?
[Unknown]: 你的域名
您的组织单位名称是什么?
[Unknown]: CAROOT
您的组织名称是什么?
[Unknown]: CA
您所在的城市或区域名称是什么?
[Unknown]: HD
您所在的州或省份名称是什么?
[Unknown]: BJ
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Trigl, OU=CAROOT, O=CA, L=HD, ST=BJ, C=CN 正确吗?
[否]: y)
7、用keytool工具生成证书请求
keytool -certreq -alias sso -sigalg MD5withRSA -file sso.csr -keypass 123456 -keystore sso.jks -storepass 123456
8、根据证书请求,生成服务器证书
openssl x509 -req -in sso.csr -out sso.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 3650 -set_serial 1
9、导入CA证书
keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore sso.jks
10、导入服务器证书
keytool -import -v -trustcacerts -storepass 123456 -alias sso -file sso.pem -keystore sso.jks
11、导入CA验签信息
keytool -import -alias sso-ca -trustcacerts -file ca/ca-cert.pem -keystore ssotrust.jks
12、 sso.jks和ssotrust.jks,在weblogic中ssl的配置中用到。首先将这两个文件复制到weblogci域的根目录下面,即:
D:\Weblogic\Middleware\user_projects\domains\base_domain下面
单向证书生成完成
双向证书
13、产生客户端对应的私钥
openssl genrsa -out user-key.pem 1024
14、根据私钥产生证书请求csr文件
openssl req -new -out user-req.csr -key user-key.pem
(**Country Name (2 letter code) [AU]:CN
1
State or Province Name (full name) [Some-State]:BJ
Locality Name (eg, city) []:HD
Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAROOT
Organizational Unit Name (eg, section) []:CA
Common Name (eg, YOUR name) []:admin//登陆帐户名
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:)
15、使用openssl之前制作的ca根证书对证书请求文件进行签证
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 3650
16、将签证之后的证书文件user-cert.pem导出为p12格式文件(p12格式可以被浏览器识别并安装到证书库中)
openssl pkcs12 -export -clcerts -in user-cert.pem -inkey user-key.pem -out user.p12
17、将签证之后的证书文件user-cert.pem导入至信任秘钥库中(这里由于没有去ca认证中心购买个人证书,所以只有导入信任库才可进行双向ssl交互)
keytool -import -alias user -trustcacerts -file user-cert.pem -keystore ssotrust.jks
18,导出.cer
keytool -export -alias sso-ca -keystore ssotrust.jks -storepass 123456 -file scert.cer
二、配置步骤
1、登陆Weblogic控制台
2、找到服务器,打开“AdminServer”
3、选中“一般信息”,配置、打开监听端口并保存
4、选中“密钥库”,根据实际情况选择对应的密钥库类型;完成对应的配置并保存;
5、选中“SSL”,根据实际情况配置“私有密钥别名、私有密钥密码短语、确认私有密钥密码短语”并保存;点击底部“高级”,勾选“使用JSSE SSL”并保存;
注意事项:
1、终端报如下错误,解决方法见链接
<07-Aug-2013 13:52:53 o'clock UTC> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias soa from the JKS keystore file /u01/app/avitek/admin/domain/dev/config/fmwconfig/soa.jks.> <07-Aug-2013 13:52:53 o'clock UTC> <Error> <WebLogicServer> <BEA-000297> <Inconsistent security configuration, java.lang.RuntimeException: Cannot convert identity certificate> <07-Aug-2013 13:52:53 o'clock UTC> <Error> <Server> <BEA-002618> <An invalid attempt was made to configure a channel for unconfigured protocol ”Cannot convert identity certificate”.>