2016-03-03 58 views
1

我有问题接受所有的证书,而使用VCloud SDK。 问题是机器上有一个自签名证书,即使FakeSSL对象没有工作,它也不能接受所有证书,我该如何制定解决方法才能使其工作?怪异的数据表搜索和分页定位(引导3)

VcloudClient.setLogLevel(Level.OFF); 
    vcloudClient = new VcloudClient(arg[0], Version.V5_5); 
    vcloudClient.registerScheme("<https>", 443, FakeSSLSocketFactory.getInstance()); 
    vcloudClient.login(arg[1], arg[2]); 
    extension = vcloudClient.getVcloudAdminExtension(); 



Exception in thread "main" com.vmware.vcloud.sdk.VCloudRuntimeException: com.vmware.vcloud.sdk.VCloudRuntimeException: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
    at com.vmware.vcloud.sdk.VcloudClient.getSupportedVersions(VcloudClient.java:231) 
    at com.vmware.vcloud.sdk.VcloudClient.login(VcloudClient.java:329) 
    at sdt.ericsson.capacity.main.Main.main(Main.java:155) 
Caused by: com.vmware.vcloud.sdk.VCloudRuntimeException: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
    at com.vmware.vcloud.sdk.RestUtil.getSupportedVersions(RestUtil.java:431) 
    at com.vmware.vcloud.sdk.VcloudClient.getSupportedVersions(VcloudClient.java:227) 
    ... 2 more 
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source) 
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) 
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) 
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:151) 
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:641) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784) 
    at com.vmware.vcloud.sdk.RestUtil.getSupportedVersions(RestUtil.java:408) 
    ... 3 more 

有我的FakeSSLSocketFactory对象(来自VMWere示例)。

http://wklej.to/2nIV7/text

有什么建议?

回答

0

我改用PERL SDK,因为它不需要http/s就可以完美工作,API处理甚至可以用于IP地址,而且完全记录在案,而且速度非常快。