1楼:掖克运陀
web service在企业应用中常常被
用作不同系统之间的接口方式。但是如果没有任何安全机制的话,显然是难以委以重任的。比较直接的web service加密方式就是使用https方式(ssl证书加密)加密连接,并且只允许持有信任证书的客户端连接,即ssl双向认证。
这样就保证了连接**的可信度以及数据在传输过程中没有被窃取或篡改。通过https加密方式访问web service具体方法如下:
【准备工作】
(1)检查jdk的环境变量是否正确。本文使用jdk 1.6
(2)准备web服务器,这里选用tomcat 6.0
(3)准备web service服务端和客户端。
【生成证书】
这里用到的文件,这里存放在d:/ssl/文件夹内,其中d:/ssl/server/内的文件是要交给服务器用的,d:/ssl/client/内的文件是要交给客户端用的。
1生成服务端证书
开始-运行-cmd-在dos窗口执行下执行命令:
keytool -genkey -v -aliastomcat -keyalg rsa -keystore d:/ssl/server/tomcat.keystore -dname"**=127.
0.0.1,ou=zlj,o=zlj,l=peking,st=peking,c=**" -validity 3650-storepass zljzlj -keypass zljzlj
说明:keytool 是jdk提供的证书生成工具,所有参数的用法参见keytool –help
-genkey 创建新证书
-v 详细信息
-alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改
-keyalg rsa 指定算法
-keystored:/ssl/server/tomcat.keystore 保存路径及文件名
-dname"**=127.0.0.
1,ou=zlj,o=zlj,l=peking,st=peking,c=**" 证书发行者身份,这里的**要与发布后的访问域名一致。但由于这里是自签证书,如果在浏览器访问,仍然会有警告提示。真正场景中建议申请ca机构(wosign)签发的ssl证书更安全。
-validity 3650证书有效期,单位为天
-storepass zljzlj 证书的存取密码
-keypass zljzlj 证书的私钥
2 生成客户端证书
执行命令:
keytool ‐genkey ‐v ‐aliasclient ‐keyalg rsa ‐storetype pkcs12 ‐keystore d:/ssl/client/client.p12 ‐dname"**=client,ou=zlj,o=zlj,l=bj,st=bj,c=**" ‐validity 3650 ‐storepassclient ‐keypass client
说明:参数说明同上。这里的-dname 证书发行者身份可以和前面不同,到目前为止,这2个证书可以没有任何关系。下面要做的工作才是建立2者之间的信任关系。
3 导出客户端证书
执行命令:
keytool ‐export ‐aliasclient ‐keystore d:/ssl/client/client.p12 ‐storetype pkcs12 ‐storepass client‐rfc ‐file d:
/ssl/client/client.cer
说明:-export 执行导出
-file 导出文件的文件路径
4 把客户端证书加入服务端证书信任列表
执行命令:
keytool ‐import ‐aliasclient ‐v ‐file d:/ssl/client/client.cer ‐keystored:
/ssl/server/tomcat.keystore ‐storepass zljzl
说明:参数说明同前。这里提供的密码是服务端证书的存取密码。
5 导出服务端证书
执行命令:
keytool -export -aliastomcat -keystore d:/ssl/server/tomcat.keystore -storepass zljzlj -rfc -filed:
/ssl/server/tomcat.cer
说明:把服务端证书导出。这里提供的密码也是服务端证书的密码。
6 生成客户端信任列表
执行命令:
keytool -import -filed:/ssl/server/tomcat.cer -storepass zljzlj -keystored:
/ssl/client/client.truststore -alias tomcat –noprompt
说明:让客户端信任服务端证书
【 配置服务端为只允许https连接】
1 配置tomcat 目录下的/conf/server.xml
xml**:
说明:在server.xml里面这段内容本来是被注释掉的,如果想使用https的默认端口443,请修改这里的port参数。
其中的clientauth="true" 指定了双向证书认证。
2 配置服务端项目web.xml
在之后增加xml**:
ssl/service/*
ssl required
confidential
说明:这里限制了web service服务地址的访问必须为https连接。要根据你的web service服务地址配置。
【修改客户端**】
在执行访问之前,增加java**:
system.setproperty("javax.***.ssl.truststore","d:/ssl/client/client.truststore");
system.setproperty("javax.***.ssl.truststorepassword","zljzlj");
system.setproperty("javax.***.ssl.keystoretype","pkcs12");
system.setproperty("javax.***.ssl.keystore","d:/ssl/client/client.p12");
system.setproperty("javax.***.ssl.keystorepassword","client");
如何在webservice中使用ssl证书
2楼:琅玥天敏
你好,使用方法如下:
web service在企业应用中常常被用作不同系统之间的接口方式。但是如果没有任何安全机制的话,显然是难以委以重任的。比较直接的web service加密方式就是使用https方式(ssl证书加密)加密连接,并且只允许持有信任证书的客户端连接,即ssl双向认证。
这样就保证了连接**的可信度以及数据在传输过程中没有被窃取或篡改。通过https加密方式访问web service具体方法如下:
【准备工作】
(1)检查jdk的环境变量是否正确。本文使用jdk 1.6
(2)准备web服务器,这里选用tomcat 6.0
(3)准备web service服务端和客户端。
【生成证书】
这里用到的文件,这里存放在d:/ssl/文件夹内,其中d:/ssl/server/内的文件是要交给服务器用的,d:/ssl/client/内的文件是要交给客户端用的。
1生成服务端证书
开始-运行-cmd-在dos窗口执行下执行命令:
keytool -genkey -v -aliastomcat -keyalg rsa -keystore d:/ssl/server/tomcat.keystore -dname"**=127.
0.0.1,ou=zlj,o=zlj,l=peking,st=peking,c=**" -validity 3650-storepass zljzlj -keypass zljzlj
说明:keytool 是jdk提供的证书生成工具,所有参数的用法参见keytool –help
-genkey 创建新证书
-v 详细信息
-alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改
-keyalg rsa 指定算法
-keystored:/ssl/server/tomcat.keystore 保存路径及文件名
-dname"**=127.0.0.
1,ou=zlj,o=zlj,l=peking,st=peking,c=**" 证书发行者身份,这里的**要与发布后的访问域名一致。但由于这里是自签证书,如果在浏览器访问,仍然会有警告提示。真正场景中建议申请ca机构(wosign)签发的ssl证书更安全。
-validity 3650证书有效期,单位为天
-storepass zljzlj 证书的存取密码
-keypass zljzlj 证书的私钥
2 生成客户端证书
执行命令:
keytool ‐genkey ‐v ‐aliasclient ‐keyalg rsa ‐storetype pkcs12 ‐keystore d:/ssl/client/client.p12 ‐dname"**=client,ou=zlj,o=zlj,l=bj,st=bj,c=**" ‐validity 3650 ‐storepassclient ‐keypass client
说明:参数说明同上。这里的-dname 证书发行者身份可以和前面不同,到目前为止,这2个证书可以没有任何关系。下面要做的工作才是建立2者之间的信任关系。
3 导出客户端证书
执行命令:
keytool ‐export ‐aliasclient ‐keystore d:/ssl/client/client.p12 ‐storetype pkcs12 ‐storepass client‐rfc ‐file d:
/ssl/client/client.cer
说明:-export 执行导出
-file 导出文件的文件路径
4 把客户端证书加入服务端证书信任列表
执行命令:
keytool ‐import ‐aliasclient ‐v ‐file d:/ssl/client/client.cer ‐keystored:
/ssl/server/tomcat.keystore ‐storepass zljzl
说明:参数说明同前。这里提供的密码是服务端证书的存取密码。
5 导出服务端证书
执行命令:
keytool -export -aliastomcat -keystore d:/ssl/server/tomcat.keystore -storepass zljzlj -rfc -filed:
/ssl/server/tomcat.cer
说明:把服务端证书导出。这里提供的密码也是服务端证书的密码。
6 生成客户端信任列表
执行命令:
keytool -import -filed:/ssl/server/tomcat.cer -storepass zljzlj -keystored:
/ssl/client/client.truststore -alias tomcat –noprompt
说明:让客户端信任服务端证书
【 配置服务端为只允许https连接】
1 配置tomcat 目录下的/conf/server.xml
xml**:
说明:在server.xml里面这段内容本来是被注释掉的,如果想使用https的默认端口443,请修改这里的port参数。
其中的clientauth="true" 指定了双向证书认证。
2 配置服务端项目web.xml
在之后增加xml**:
ssl/service/*
ssl required
如何在IIS服务器中使用SSL安全加密机制
1楼 匿名用户 使用iis 8 0以上支持tls1 2 低于iis8 0的仅支持tls1 0 ssl安全加密机制,目前签发机构给您的证书一般都是 sha2算法 rsa2048。 如何利用openssl为iis生成ssl服务器证书 2楼 匿名用户 自签发的ssl证书不会被浏览器信任,建议您还是 一个s...
如何申请SSL证书,如何申请免费SSL证书
1楼 匿名用户 注意 免费ssl证书可能不被chrome firefox uc 苹果等主流浏览器信任,使用前请谨慎。因为免费与收费本身就没有可比性,您可以淘一个ssl证书,享受一些正规的服务。 怎样申请免费通配的ssl证书 2楼 安信ssl证书 通配符ssl证书没有免费的,可以申请付费的,具体申请步...
如何在教学中使用奥苏伯尔的有意义接受学习论
1楼 独酌酌酌 有意义学习理 论的前提是对学生学习特点的确定 奥苏伯尔的学习理论是以确认人的学习的特点,特别是学生学习的特点为前提的。在长期的研究和实验中,奥苏伯尔明确提出了人的学习 特别是学生学习应突出三大特点。一是学习者的主观能动性,学生要求施教者重视学生的学习动机及学习的主动性 积极性。 二是...