REST服务安全-双向认证

摘要:
1.创建一个密钥库为d:/mykeys/server-Ks的服务器密钥,注意密钥密码和storepass是一致的。它们分别表示密钥密码和密钥库密码。注意,在CN=localhost中,localhost表示要配置SSL的主机名。D: /mykeys˃keytool-genkey-v-aliasserverKey dname“CN=localhost”-keyalgRSA密钥传递不能任意指定

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/

免责声明:文章转载自《REST服务安全-双向认证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇什么是RESTful API使用 WM_NCHITTEST 消息判断鼠标所在窗口的部位下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PowerShell调用jira rest api实现对个人提交bug数的统计

通过PowerShell的invoke-webrequest和net.client联合实现个人指定项目jira提交数的统计,其中涉及到了JSON对象的提交,代码如下: $content = @{username='用户名';password='密码'} $JSON = $content|convertto-JSON -Compress $jiraUri...

Django:RestFramework之-------渲染器

12.渲染器 from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer,AdminRenderer class TestView(APIView): #BrowsableAPIRenderer页面渲染更加好看 #JSONRenderer 返回json数据...

DRF--视图集

@api_view() 在DRF中,也可以使用常规的基于函数的视图,DRF提供了一组简单的装饰器,用来包装你的视图函数,以确保视图函数会收到Request(而不是Django原始的HttpRequest)对象。并且返回Response(而不是Django中的HttpResponse)对象。同时允许你设置这个请求的处理方式。 @api_view()装饰器 语...

DRF的序列化组件

restrest下的url url唯一代表资源,http请求方式来区分用户行为 url的设计规范 GET: 127.0.0.1:9001/books/        # 获取所有数据 GET: 127.0.0.1:9001/books/{id}      # 获取单条数据 POST: 127.0.0.1:9001/books/      # 增加数据 D...

SOA、REST 和六边形架构

SOA、REST 和六边形架构 上一篇:《IDDD 实现领域驱动设计-架构之经典分层》 阅读目录: SOA-面向服务架构 REST 与 RESTful 资源(Resources) 状态(State) 六边形架构 DDD 的一大好处就是并不需要使用特定的架构,经典分层架构只是一种,由于核心域位于限界上下文中,我们可以使用多种风格的架构,既然如此,...

bootstrap悬浮顶部或者底部

这是bootstrap提供的样式,只需要引入bootstrap.css即可. 需要使用的class样式: navbar navbar-inverse navbar-inner navbar-fixed-top //悬浮顶部样式 navbar-fixed-bottom //悬浮底部样式 container-fluid <!DOCTYPE html&g...