zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    写一个工具生成数据库实体类
    自己写一个java的mvc框架吧(三)
    自己写一个java的mvc框架吧(二)
    自己写一个java的mvc框架吧(一)
    手把手教你写一个java的orm(完)
    JavaEE系列之(二)commons-fileupload实现文件上传、下载
    JavaEE系列之(一)JSP基础知识详解
    Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(二)
    Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(一)
    cygwin简介及使用
  • 原文地址:https://www.cnblogs.com/silva/p/6780243.html
Copyright © 2011-2022 走看看