我正在尝试使用twitter4j库为我的java项目发送推文.在我第一次运行时,我收到了关于证书sun.security.validator.ValidatorException和错误的错误sun.security.provider.certpath.SunCertPathBuilderException.然后我添加了twitter证书:
C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PathToCert -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts"
Run Code Online (Sandbox Code Playgroud)
但没有成功.这是获得twitters的过程:
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("myConsumerKey")
.setOAuthConsumerSecret("myConsumerSecret")
.setOAuthAccessToken("myAccessToken")
.setOAuthAccessTokenSecret("myAccessTokenSecret");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try {
Query query = new Query("iphone");
QueryResult result;
result = twitter.search(query);
System.out.println("Total amount of tweets: " + result.getTweets().size());
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取远程服务器的证书,然后我可以使用它来添加到我的密钥库并在我的java应用程序中使用.
一位资深开发者(节假日:())告诉我,我可以运行这个:
openssl s_client -connect host.host:9999
Run Code Online (Sandbox Code Playgroud)
要获取原始证书,我可以将其复制并导出.我收到以下输出:
depth=1 /C=NZ/ST=Test State or Province/O=Organization Name/OU=Organizational Unit Name/CN=Test CA
verify error:num=19:self signed certificate in certificate chain
verify return:0
23177:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40
23177:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
Run Code Online (Sandbox Code Playgroud)
我也试过这个选项
-showcerts
Run Code Online (Sandbox Code Playgroud)
而这一个(在debian上运行你的头脑)
-CApath /etc/ssl/certs/
Run Code Online (Sandbox Code Playgroud)
但得到同样的错误.
这个消息来源说我可以使用那个CApath标志,但它似乎没有帮助.我尝试了多条路径无济于事.
请让我知道我哪里出错了.
有没有人有关于如何使用HTTPClient 4.0.1通过x509证书执行客户端身份验证的任何友好提示?
感谢您的时间.
java ×2
certificate ×1
httpclient ×1
jsp ×1
linux ×1
openssl ×1
security ×1
servlets ×1
twitter4j ×1
x509 ×1