Jetty http客户端中KeyStore API的替代品是什么?
问题描述:
在Jetty文档中,所有与密钥库相关的方法都被标记为弃用,但它并未引用替换API。应该用什么API来代替?Jetty http客户端中KeyStore API的替代品是什么?
http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/client/HttpClient.html
答
使用SSL上下文工厂来代替。例如
SslContextFactory sslContextFactory = new SslContextFactory();
URL keyStoreUrl = this.getClass().getClassLoader().getResource("XXXXXX.pfx");
URL trustStoreUrl = this.getClass().getClassLoader().getResource("XXXX.jks");
sslContextFactory.setKeyStoreType("pkcs12");
sslContextFactory.setTrustStoreType("jks");
sslContextFactory.setKeyStore(keyStoreUrl.toString());
sslContextFactory.setKeyStorePassword(KEY_STORE_PASS);
sslContextFactory.setNeedClientAuth(true);
sslContextFactory.setValidateCerts(false);
sslContextFactory.setTrustStore(trustStoreUrl.toString());
sslContextFactory.setTrustStorePassword(KEY_STORE_PASS);
sslContextFactory.setKeyManagerPassword(KEY_STORE_PASS);
httpClient = new HttpClient(sslContextFactory);
保存我的一天。谢谢! –