1. ssl原理个人理解
网上关于ssl原理讲的很详细,由于我仅仅需要配置weblogic的ssl,所以对ssl没有做深入的理解,以下仅是我个人对ssl的一些理解,不保证正确性。
ssl协议是保证客户端和服务器能够实现安全传输的一个协议,客户端向服务器发送请求后服务器会返回一个证书,里面包含必要信息密钥来验证身份,证明你的确是老大,而验证身份就需要有一个公证员,那么CA机构就是这个公证员。因此,必须要有的东西是CA的证书和服务器的证书。有的情况下,服务器也需要验证访问它的客户端的身份和信息,正如有的老大要确认你就是我的小弟,这时就需要客户端证书了。
总之,如果仅需要CA证书和服务器证书,那就是单向ssl。如果还需要客户端证书,那就是双向ssl。
2. 必备软件
openssl工具用来制作密钥、CA根证书。网上直接搜索openssl下载即可。
3. 单向ssl配置
安装openssl,然后cmd进入安装目录的bin目录下面。新建文件夹ca。
建立CA证书
1.创建私钥
D:\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)
- 1
- 2
- 3
- 4
- 5
- 6
2.创建证书请求
D:\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]: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) []:Trigl
Email Address []://直接回车,不配置
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []://直接回车,不配置
An optional company name []://直接回车,不配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
3.生成CA自签名证书
D:\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=BJ/L=HD/O=CAROOT/OU=CA/CN=Trigl
Getting Private key
- 1
- 2
- 3
- 4
- 5
- 6
制作服务器证书
4.用keytool工具生成密钥
D:\OpenSSL\bin>keytool -genkey -alias sso -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore sso.jks
您的名字与姓氏是什么?
[Unknown]: Trigl
您的组织单位名称是什么?
[Unknown]: CAROOT
您的组织名称是什么?
[Unknown]: CA
您所在的城市或区域名称是什么?
[Unknown]: HD
您所在的州或省份名称是什么?
[Unknown]: BJ
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Trigl, OU=CAROOT, O=CA, L=HD, ST=BJ, C=CN 正确吗?
[否]: y
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
5.用keytool工具生成证书请求
D:\OpenSSL\bin>keytool -certreq -alias sso -sigalg MD5withRSA -file sso.csr -keypass 123456 -keystore sso.jks -storepass 123456
- 1
6.根据证书请求,生成服务器证书
D:\OpenSSL\bin>openssl x509 -req -in sso.csr -out sso.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 3650 -set_serial 1
Loading 'screen' into random state - done
Signature ok
subject=/C=CN/ST=BJ/L=HD/O=CA/OU=CAROOT/CN=Trigl
Getting CA Private Key
- 1
- 2
- 3
- 4
- 5
向keystore密钥库中导入证书
7.导入CA证书
D:\OpenSSL\bin>keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore sso.jks
所有者:CN=Trigl, OU=CA, O=CAROOT, L=HD, ST=BJ, C=CN
签发人:CN=Trigl, OU=CA, O=CAROOT, L=HD, ST=BJ, C=CN
序列号:9b6ef80677f56488
有效期: Tue Nov 03 16:27:12 CST 2015 至Fri Oct 31 16:27:12 CST 2025
证书指纹:
MD5:33:83:B9:67:2C:B9:C7:5A:1A:0B:2D:CB:87:03:06:0B
SHA1:3C:47:DE:9F:5A:A3:93:93:AD:7A:F0:93:99:25:B0:5F:D2:EC:3A:A9
签名算法名称:MD5withRSA
版本: 1
信任这个认证? [否]: y
认证已添加至keystore中
[正在存储 sso.jks]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
8.导入服务器证书
D:\OpenSSL\bin>keytool -import -v -trustcacerts -storepass 123456 -alias sso -file sso.pem -keystore sso.jks
认证已添加至keystore中
[正在存储 sso.jks]
- 1
- 2
- 3
9.导入CA验签信息
D:\OpenSSL\bin>keytool -import -alias sso-ca -trustcacerts -file ca/ca-cert.pem -keystore ssotrust.jks
输入keystore密码:
再次输入新密码:
所有者:CN=Trigl, OU=CA, O=CAROOT, L=HD, ST=BJ, C=CN
签发人:CN=Trigl, OU=CA, O=CAROOT, L=HD, ST=BJ, C=CN
序列号:9b6ef80677f56488
有效期: Tue Nov 03 16:27:12 CST 2015 至Fri Oct 31 16:27:12 CST 2025
证书指纹:
MD5:33:83:B9:67:2C:B9:C7:5A:1A:0B:2D:CB:87:03:06:0B
SHA1:3C:47:DE:9F:5A:A3:93:93:AD:7A:F0:93:99:25:B0:5F:D2:EC:3A:A9
签名算法名称:MD5withRSA
版本: 1
信任这个认证? [否]: y
认证已添加至keystore中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
10.以上步骤会产生两个密钥库文件:sso.jks和ssotrust.jks,在weblogic中ssl的配置中用到。首先将这两个文件复制到weblogci域的根目录下面,即:
D:\Weblogic\Middleware\user_projects\domains\base_domain下面
启动weblogic的ssl监听端口
11.登陆weblogic页面,首先进入如下页面启动ssl监听端口
配置weblogi的密钥库
12.启动weblogic并登录控制台,进入如下页面
点击更改,选择定制标识和定制信任
然后填写相应的标识密钥库和信任密钥库,这里填入的密钥库文件就是前面产生的sso.jks和ssotrust.jks两个文件,密码是之前设置的123456,填写完成后记得保存
配置weblogic的ssl
13.进入ssl配置页面,如下图所示,密钥别名就是前面定义好的名字,这里是sso,密码还是123456
浏览器验证
14.到这里,单向 ssl配置就完成了,在浏览器中输入https://localhost:7002/console访问控制台进行测试,但是一般浏览器默认的安全等级是比较高的,所有可能无法访问,我们需要手动降低浏览器安全等级,以ie为例:
选择Internet选项
选择安全,将安全等级设置为最低
选择隐私,同样设置为最低
这时候就可以输入https://localhost:7002/console进行验证了,如下图:
继续浏览此网站,验证成功
4. 双向ssl配置
制作客户端证书
1.产生客户端对应的私钥
D:\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)
- 1
- 2
- 3
- 4
- 5
- 6
2.根据私钥产生证书请求csr文件
D:\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]: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 []:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
3.使用openssl之前制作的ca根证书对证书请求文件进行签证
D:\OpenSSL\bin>openssl x509 -req -in user-req.csr -out user-cert.pem -signkey us
er-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
Loading 'screen' into random state - done
Signature ok
subject=/C=CN/ST=BJ/L=HD/O=CAROOT/OU=CA/CN=admin
Getting Private key
Getting CA Private Key
- 1
- 2
- 3
- 4
- 5
- 6
- 7
4.将签证之后的证书文件user-cert.pem导出为p12格式文件(p12格式可以被浏览器识别并安装到证书库中)
D:\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://不输入
- 1
- 2
- 3
- 4
- 5
5.将签证之后的证书文件user-cert.pem导入至信任秘钥库中(这里由于没有去ca认证中心购买个人证书,所以只有导入信任库才可进行双向ssl交互)
D:\OpenSSL\bin>keytool -import -alias user -trustcacerts -file user-cert.pem -ke
ystore ssotrust.jks
输入keystore密码:
认证已添加至keystore中
- 1
- 2
- 3
- 4
6.需要把最后增加证书的信任秘钥库exampletrust.jks重新复制到domain目录下。
weblogic控制台双向ssl配置
7.进入weblogic控制台如下页面,进入ssl配置页面,点击高级
选择双向客户机证书行为中的请求客户机证书并强制使用,这样就强制客户端浏览器提供证书,修改完成记得保存
8.接下来,双击刚才生成的p12文件,即在目录D:\OpenSSL\bin里面的user.p12,将用户证书安装到浏览器的证书库中,一直点击下一步即可
9.以上就完成了双向ssl的相关配置,可以在具体java代码中调用相关文件
相关推荐
WebLogic服务器双向SSL配置是指在Web应用程序中设置安全通信的过程,这种配置要求服务器和客户端之间进行身份验证,确保数据传输的机密性和完整性。以下是详细步骤: 1. **创建密钥对**:首先,使用Java自带的`...
Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...
- 对于Windows环境下的`startWebLogic.cmd`或Linux环境下的`startWebLogic.sh`,在`JAVA_OPTIONS`变量后添加`-Dweblogic.security.SSL.enforceConstraints=off`。 - 对于管理服务器的启动脚本`startManagedWebLogic....
以下是关于WebLogic SSL安全服务器设置的详细说明。 ### 1. 预备知识 #### 1.1 SSL简介 SSL(Server Socket Layer)是网络安全协议,最初由Netscape公司开发,用于在互联网上提供安全的通信环境。SSL后来演变为TLS...
本教程将详细讲解如何在WebLogic 11g中配置单向和双向SSL,以SpringSide 3项目为例。 一、SSL基础 SSL是一种网络安全协议,用于在互联网上提供保密通信。它通过加密传输数据,防止中间人攻击和数据篡改。SSL主要...
Weblogic 服务器 10 SSL 配置文档详解 本文档旨在详细介绍 Weblogic 服务器 10 的 SSL 配置过程,包括生成证书请求、生成 keystore 文件、生成证书签发请求文件、配置 Weblogic 服务器 SSL 信息等步骤。 生成证书...
WebLogic 配置 SSL 详解 WebLogic 配置 SSL 是指在 WebLogic Server 中配置 SSL(Server Socket Layer)协议,以确保在开放网络(Internet)上安全地传输信息。SSL 协议使用不对称加密技术实现会话双方之间信息的...
Windows 下 WebLogic 配置详解 在 Windows 平台下配置 WebLogic 服务器,以便实现对 Microsoft SQL Server 2000 的连接和数据源配置。本文将详细介绍配置过程,包括安装 SQL Server 2000,配置 WebLogic 服务器,...
本手册将指导用户如何在 Windows 和 Unix/Linux 平台上安装和配置 WebLogic 服务器,并且介绍了如何使用 SSL 配置 WebLogic 服务器。下面是相关的知识点: 安装 WebLogic 服务器 在 Windows 平台上安装 WebLogic ...
配置文件通常位于WebLogic安装目录下,例如config.xml,它定义了服务器的安全设置,包括SSL连接使用的加密套件。 #### 4. 安全加密套件配置 在config.xml中加入安全加密套件的名称,限定了WebLogic服务器在TLS握手...
WebLogic Server 是一款由甲骨文公司提供的企业级Java应用服务器,它支持多种服务和功能,包括SSL(Secure Sockets Layer)配置,用于提供安全的网络通信。SSL是一种网络安全协议,用于加密网络上的数据传输,确保...
学习weblogic配置ssl的好东西,希望对您有所帮助。
总的来说,Windows下的WebLogic 9.2安装部署、配置域和发布工程是一个涉及多方面知识的过程,需要对Java EE、WebLogic Server的架构以及相关的管理工具有深入理解。通过本文的介绍,希望能为你提供一个清晰的实践...
本教程将详细介绍如何在WebLogic Server环境下进行SSL配置。 一、理解SSL SSL是一种网络安全协议,其主要功能是为网络通信提供加密处理,确保数据传输的安全性。SSL通过在客户端和服务器之间建立一个安全的通道,...
WebLogic Server 8.1 是一款由甲骨文公司(Oracle)提供的企业级Java应用服务器,它支持多种功能,包括安全套接层(SSL)来确保网络通信的安全性。SSL配置是WebLogic Server中至关重要的一步,特别是在处理敏感数据...
总结,WebLogic Server的SSL配置是一项重要的安全设置,它确保了通过WebLogic Server传输的敏感信息得到保护。无论是使用默认的Demo证书还是自定义证书,都需要按照正确的步骤进行配置,以确保服务器与客户端之间的...
web端网页加密技术,本文档是项目开发中用到。很方便