栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使Restlet客户端忽略SSL证书问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使Restlet客户端忽略SSL证书问题

正确的方法 是使用以下 方法 将此自签名证书导入客户端的信任库

keytool

keytool -import -file server-cert.pem -alias myserver -keystore mytruststore.jks

您可以直接在

lib/security/cacerts
可能缺乏灵活性的JRE信任库()中进行操作,也可以在自己的文件副本中进行操作,然后将该文件设置为信任库(默认密码为
changeit
changeme
在OSX上)。您可以使用常规
javax.net.ssl.trustStore*
系统属性(例如,
-Djavax.net.ssl.trustStore=mytruststore
系统属性(和
-Djavax.net.ssl.trustStorePassword
)为应用程序全局配置此信任库,也可以使用服务器上下文参数为Restlet中的特定连接器配置该信任库,例如:

Series<Parameter> parameters = client.getContext().getParameters();parameters.add("truststorePath", "/path/to/your/truststore.jks");// parameters.add("truststorePassword", "password");// parameters.add("trustPassword", "password");// parameters.add("truststoreType", "JKS");

错误的方法
是使用

TrustManager
将禁用任何验证并通过
SslContextFactory
(在SSL扩展名中)通过的。遵循这些原则。

TrustManager tm = new X509TrustManager() {    public void checkClientTrusted(X509Certificate[] chain,         String authType)         throws CertificateException {    }    public X509Certificate[] getAcceptedIssuers() {        return new X509Certificate[0];    }    public void checkServerTrusted(X509Certificate[] chain,         String authType)         throws CertificateException {        // This will never throw an exception.        // This doesn't check anything at all: it's insecure.    }};final SSLContext sslContext = SSLContext.getInstance("TLS");sslContext.init(null, new TrustManager[] {tm}, null);Context context = client.getContext();context.getAttributes().put("sslContextFactory", new SslContextFactory() {    public void init(Series<Parameter> parameters) { }    public SSLContext createSslContext() { return sslContext; }});

尽管第一种方法似乎比第二种方法更乏味(因为您需要先获取服务器证书并在其周围复制文件),但是第二种方法只是通过不验证有关服务器证书的任何内容而使错误消息消失,从而使它容易受到主动MITM攻击。这将适用于

SSLContext
配置了此连接的任何连接。(这种“错误的方式不会错,因为它使用了自定义
SSLContext
,这是错误的,因为它的特殊配置
SSLContext
。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号