如何使用X.509证书

来源:互联网 发布:pl sql developer 编辑:程序博客网 时间:2024/05/08 22:39
简介
在怎样把X.509证书部署到生产系统之前,你需要了解SSL/TSL协议中所支持的认证场景的区别。你部署证书的方式取决于
你选择的是哪种认证场景。


单向认证
在单向认证场景中,服务器在SSL握手期间会将自己的证书分发给客户端,以便客户端能据此验证目标身份。所以在
此情景下,服务器相对于客户端是认证过的,但客户端相对服务器而言,则是非认证过的。
服务器配置有自己的证书和私钥,两者都保存在broker.ks文件中。客户端配置有一个信任库lient.ts,含有来自于
服务器签名过的证书。一般来讲,信任证书是CA证书。


双向认证
在双向认证场景中,SSL握手过程中,服务器要把自己的证书分发给客户端,同时客户端也要把自己的证书分发给服务端,
这样才能做到双方都能相互验证对方的身份。
因为认证是相互的,所以无论客户端还是服务端,都需要配置一整套证书。
客户端要配置自己的证书和私钥库client.ks,还有信任库client.ts, 该信任库中装载的是已签名的服务端证书。
服务端要配置自己的证书和私钥库broker.ks,还有信任库broker.ts, 该信任库中装载的是已签名的客户端证书。


选择认证场景
服务端和客户端认证可以有各种不同的组合。SSL的认证场景的选择是由密码套件和协议层中的needClientAuth标志位
的设置共同决定的。


服务端单向认证 - 这是最为重要的认证场景。服务端身份确认,客户端的身份确认是通过提供用户名和密码凭证,通过加密信道
发送到服务器而得到确认。


服务端认证加客户端可选认证 - 如果你想要使用X509证书认证客户身份,可以简单配置客户端也拥有自己的证书。这样在缺省
情况下,如果服务端接受到客户端的证书,它也会对客户端的身份进行验证。


服务端认证加客户端必选认证 - 如果你必须要客户端使用X509认证,你可以设置needClientAuth标志,设置之后,如果在SSL
握手期间客户端没有发送证书的话,服务端会抛出错误。


无认证 - 有风险,不安全的场景,不推荐使用。


原文地址

https://access.redhat.com/documentation/en-US/Fuse_MQ_Enterprise/7.1/html/Security_Guide/files/SSLUseCerts.html

0 0
原创粉丝点击