Hi,

can you give a little bit more information like which Maven version you are using and what exactly you are trying to achieve ?

Do you have an example project?

Kind regards
Karl Heinz Marbaise
On 12/29/14 11:18 AM, 李响 wrote:
Hi, I am using IBM JDK 7.1-2.0. Because SSL v3 is disabled by the JDK, so I
need to set com.ibm.jsse2.disableSSLv3 to false to enable it when running
some test cases.

The project is managed by maven. I tried with:

1. mvn xxxx -Dcom.ibm.jsse2.disableSSLv3=false, or add
<com.ibm.jsse2.disableSSLv3>false</com.ibm.jsse2.disableSSLv3> into
<systemPropertyVariables> of pom.xml.

   It works.

2. Modify the java source file of the test case
    I used : String old=System.setProperty("com.ibm.jsse2.disableSSLv3",
"false") and got the exception:

Caused by: java.lang.IllegalArgumentException: Only SSLv3 was enabled while
com.ibm.jsse2.disableSSLv3 is set to true (It should be "false" here, seems
a JDK bug, never mind)
         at com.ibm.jsse2.pb.a(pb.java:17)
         at com.ibm.jsse2.pb.<init>(pb.java:7)
         at com.ibm.jsse2.qc.setEnabledProtocols(qc.java:689)
         at
org.apache.flume.source.http.TestHTTPSource$DisabledProtocolsSocketFactory.createSocket(TestHTTPSource.java:514)
<-- sc.setEnabledProtocols(protocols), sc is an instance of SSLSocket
         at com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:7)
         at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:9)
         at
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1103)
         at com.ibm.net.ssl.www2.protocol.https.b.getOutputStream(b.java:84)
         at
org.apache.flume.source.http.TestHTTPSource.doTestHttps(TestHTTPSource.java:392)
         at
org.apache.flume.source.http.TestHTTPSource.testHttpsSSLv3(TestHTTPSource.java:321)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
         at java.lang.reflect.Method.invoke(Method.java:620)
         at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
         at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
         at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
         at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
         at
org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:22)
         ... 24 more

    I printed the value of com.ibm.jsse2.disableSSLv3 before the line
514 of TestHTTPSource.java,
and com.ibm.jsse2.disableSSLv3 is false, as expected.

   It seems that com.ibm.jsse2.disableSSLv3=false do not take effect here.
Why ???? Is it because the program gets out of TestHTTPSource.java and get
into JDK, or something else, so the system property does not take effect ??


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to