AlienVault-OTX / OTX-Java-SDK

The Java-based SDK for the Open Threat Exchange API.
Other
33 stars 32 forks source link

OTX-Java-SDK-Master failed while running mvn install #2

Closed manojsharma20 closed 8 years ago

manojsharma20 commented 8 years ago

I have downloaded zip file of otx-java and extracted in D drive. Then i tried to run mvn install, i am getting 11 errors in test suite. I don't understand why i am getting these errors.

rspitler-alien commented 8 years ago

@manojsharma20 sorry for that! we were not handling errors too well. I have updated to code to be more explicit about missing the API key which I suspect was your issue. Please pull and try again!

manojsharma20 commented 8 years ago

I am still getting error:

"<error type="org.springframework.web.client.ResourceAccessException" message="I/O error on GET request for "https://otx.alienvault.com/api/v1/pulses/5756b9746eb8c60134a9e203":sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target">org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://otx.alienvault.com/api/v1/pulses/5756b9746eb8c60134a9e203":sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:145) at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1351) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:156) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:925) at sun.security.ssl.Handshaker.process_record(Handshaker.java:860) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1043) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:81) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:569) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:545) at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:253) at com.alienvault.otx.connect.OTXConnection.executeGetRequest(OTXConnection.java:285) at com.alienvault.otx.connect.OTXConnection.getPulseDetails(OTXConnection.java:163) at com.alienvault.otx.OtxJavaSdkApplicationTests.testGetPulseDetails(OtxJavaSdkApplicationTests.java:88) "

I don't understand why i am getting this issue. Is it program related or certificate related. Please suggest me the solution.

rspitler-alien commented 8 years ago

That error is related to establishing a secure connection with OTX - your JRE is not accepting our certificate. OTX uses a godaddy signed SHA-2 certificate. My suspicion is that this is related to your JRE. What platform are you running? I would suggest running Java 8 and you should see this disappear.

manojsharma20 commented 8 years ago

Hi, As you have mention that we should use java 8. Here i need to mention that we are already using Java 8. Please suggest further resolution to go ahead.

rspitler-alien commented 8 years ago

You need either java 1.8 > build 31. Or you can follow the advice here - http://tozny.com/blog/godaddys-ssl-certs-dont-work-in-java-the-right-solution/

manojsharma20 commented 8 years ago

@rspitler-alien thanks for your valuable response. I found the solution, I have just export the otx certificate and import using java keytool. for information i go to http://stackoverflow.com/questions/10321211/java-keytool-error-after-importing-certificate-keytool-error-java-io-filenot

manojsharma20 commented 8 years ago

@rspitler-alien i am able to connect to the otx but, now i am getting following exception. Could you please let me know the solution.

Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: SSL peer shut down incorrectly (through reference chain: com.alienvault.otx.model.pulse.PulsePage["results"]->java.util.ArrayList[3]->com.alienvault.otx.model.pulse.Pulse["indicators"]->java.util.ArrayList[65]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: SSL peer shut down incorrectly (through reference chain: com.alienvault.otx.model.pulse.PulsePage["results"]->java.util.ArrayList[3]->com.alienvault.otx.model.pulse.Pulse["indicators"]->java.util.ArrayList[65]) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:208) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:200) at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:97) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:572) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:545) at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:253) at com.alienvault.otx.connect.OTXConnection.executeGetRequest(OTXConnection.java:277) at com.alienvault.otx.connect.OTXConnection.getPagedResults(OTXConnection.java:253) at com.alienvault.otx.connect.OTXConnection.getPulses(OTXConnection.java:242) at com.alienvault.otx.connect.OTXConnection.getPulsesSinceDate(OTXConnection.java:150) at com.alienvault.otx.CommandlineRunner.main(CommandlineRunner.java:66) Caused by: com.fasterxml.jackson.databind.JsonMappingException: SSL peer shut down incorrectly (through reference chain: com.alienvault.otx.model.pulse.PulsePage["results"]->java.util.ArrayList[3]->com.alienvault.otx.model.pulse.Pulse["indicators"]->java.util.ArrayList[65]) at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:210) at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:189) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:25) at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:538) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:99) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:306) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:232) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:25) at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:538) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:99) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:306) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3066) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2221) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:205) ... 10 more Caused by: javax.net.ssl.SSLException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:596) at sun.security.ssl.InputRecord.read(InputRecord.java:532) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:911) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.ChunkedInputStream.fastRead(ChunkedInputStream.java:244) at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:689) at java.io.FilterInputStream.read(FilterInputStream.java:133) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3322) at java.io.FilterInputStream.read(FilterInputStream.java:133) at java.io.PushbackInputStream.read(PushbackInputStream.java:186) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.loadMore(UTF8StreamJsonParser.java:176) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.parseEscapedName(UTF8StreamJsonParser.java:1764) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.slowParseName(UTF8StreamJsonParser.java:1672) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._parseName(UTF8StreamJsonParser.java:1500) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:693) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:299) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:232) ... 26 more