如何在WebService中使用SSL证书

2020-11-29 14:15:42 字数 5812 阅读 9165

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楼 独酌酌酌 有意义学习理 论的前提是对学生学习特点的确定 奥苏伯尔的学习理论是以确认人的学习的特点,特别是学生学习的特点为前提的。在长期的研究和实验中,奥苏伯尔明确提出了人的学习 特别是学生学习应突出三大特点。一是学习者的主观能动性,学生要求施教者重视学生的学习动机及学习的主动性 积极性。 二是...