安全套接字与非阻塞 I/O 技术解析
1. 安全套接字客户端模式
在大多数安全通信中,服务器通常需要使用相应的证书进行身份验证,而客户端则不需要。例如,当我们在亚马逊的安全服务器上购买书籍时,亚马逊服务器需要向我们的浏览器证明它确实是亚马逊,而我们无需向亚马逊证明自己的身份。这种不对称性虽然在一定程度上方便了用户,但也可能导致信用卡欺诈等问题。
为了避免这些问题,套接字可以进行身份验证。不过,这种策略不适用于面向公众的服务,但在某些内部的高安全性应用中可能是合理的。
在 Java 中, setUseClientMode() 方法用于确定套接字在首次握手时是否需要进行身份验证。该方法的名称可能会让人产生误解,它既可以用于客户端套接字,也可以用于服务器端套接字。当传入 true 时,表示套接字处于客户端模式,不会主动进行身份验证;当传入 false 时,它将尝试进行身份验证。
public abstract void setUseClientMode(boolean mode)
throws IllegalArgumentException
需要注意的是,对于任何给定的套接字,此属性只能设置一次。如果尝试第二次设置,将抛出 IllegalArgumentException 异常。
getUseClientMode() 方法则用于判断该套接字在首次握手时是否会使用身份验证。
超级会员免费看
订阅专栏 解锁全文

48

被折叠的 条评论
为什么被折叠?



