REST服务安全-双向认证

1.

创建服务器密钥,其密钥库为 d:/mykeys/server.ks,注意keypass和storepass保持一致,它们分别代表 密钥密码和密钥库密码,注意 CN=localhost 中,localhost表示要配置SSL的主机名,不能任意指定

D:/mykeys>keytool -genkey -v -alias serverKey -dname "CN=localhost" -keyalg RSA -keypass rwm258 -keystore server.ks -storepass rwm258

 

2.

创建客户端密钥,其密钥库为 d:/mykeys/client.p12,注意这个密钥库的后缀名,注意密钥库类型PKCS12

D:/mykeys>keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass lyl147 -keystore client.p12 -storepass lyl147 -storetype PKCS12

 

3.

将客户端密钥导出为证书文件

D:/mykeys>keytool -export -alias clientKey -file clientKey.cer -keystore client.p12 -storepass lyl147 -storetype PKCS12

 

4.

将上述客户端密钥文件导入服务器证书库,并设置为信任证书;注意会问你是否信任该证书,回答 y 即可

D:/mykeys>keytool -import -v -alias clientKey -file clientKey.cer -keystore server.ks -storepass rwm258

 

5.

为了在本机浏览器中进行SSL访问,请:双击 d:/mykeys/client.p12 ,将启动证书向导

 

6.

配置TOMCAT服务器,以支持SSL认证,编辑文件:%tomcat_home%/conf/server.xml,下面这段配置代码本来是被屏蔽的,现在请取消其屏蔽,并相应增加密钥库的配置,其中clientAuth="true" 用以启动双向认证,否则,只有客户端认证服务器-单向

 

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="D:/mykeys/server.ks" keystorePass="rwm258" truststoreFile="D:/mykeys/server.ks " truststorePass=" rwm258" />

 

7.

web.xml

	<security-constraint>
	    <web-resource-collection>
	        <web-resource-name>secure REST</web-resource-name>
	        <url-pattern>/REST/*</url-pattern>
	    </web-resource-collection>
	    <user-data-constraint>
	        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
	    </user-data-constraint>
	</security-constraint>

 

 

8.  

启动 TOMCAT,然后在IE浏览器中访问:https://localhost:8443/

 

posted @ 2017-04-28 09:50  Ready!  阅读(663)  评论(0编辑  收藏  举报