Hi ViduraN,

Shall we make sure that all the above information is captured in the
documentation?

Thanks,

On Thu, Aug 17, 2017 at 3:22 PM, Vidura Nanayakkara <vidu...@wso2.com>
wrote:

> ​​Hi,
>
> On Thu, Aug 17, 2017 at 7:49 AM, Chandana Napagoda <chand...@wso2.com>
> wrote:
>
>> Hi
>>
>> Could you please point the fix you have made to address this issue?
>>
>
> ​As Shariq mentioned, *org.wso2.ignoreHostnameVerification *property was
> removed from Kernel 4.4.17 onwards. With PR [1], commons-httpclient library
> coming from kernel will handle host name verification by itself.  The
> property  *org.wso2.ignoreHostnameVerification* is replaced by
> *httpclient.hostnameVerifier*. The possible values for
> *httpclient.hostnameVerifier *is as described below:
>
>    - DefaultAndLocalhost - Verify host name without being strict with
>    sub-domains (*.foo.com is allowed to match with a.b.foo.com) and also
>    allow local host
>    - AllowAll - Allows all hosts
>    - Strict - Verify all hosts while being strict with sub-domains (*.
>    foo.com is not allowed to match with a.b.foo.com)
>
> Example: httpclient.hostnameVerifier="Strict"
>
> By default, host name verification will happen for all hosts without being
> strict with sub-domains (*.foo.com is allowed to match with a.b.foo.com)
>
> Since host name verification is handled by the commons-httpclient library
> coming from the kernel (with PR [1]), other components do not need to worry
> about handling host name verification. For instance, handling host name
> verification is removed from the jaggery component in PR [2].
>
> [1] https://github.com/wso2/wso2-commons-httpclient/pull/5
> [2] https://github.com/wso2/jaggery/pull/174/
>
>
>>
>> Regards,
>> Chandana
>>
>> On Thu, Aug 17, 2017 at 7:20 AM, Muhammed Shariq <sha...@wso2.com> wrote:
>>
>>> On Wed, Aug 16, 2017 at 11:45 PM, Kishanthan Thangarajah <
>>> kishant...@wso2.com> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Aug 16, 2017 at 9:48 PM, Nuwandi Wickramasinghe <
>>>> nuwan...@wso2.com> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> With the latest IS pack built with kernel 4.4.17-SNAPSHOT, we can
>>>>> successfully turn off the hostname verification with
>>>>> *-Dhttpclient.hostnameVerifier=AllowAll*.
>>>>>
>>>>
>>>> What was the original issue? Farasath has followed the same steps (IS
>>>> with 4.4.17-SNAPSHOT) and mentioned that the above property was not working
>>>> according to the mail above.
>>>>
>>>>
>>>>> Need to do some code changes from Identity Server side to make the
>>>>> newly introduced property effective for some components.
>>>>>
>>>>
>>>> What are the code changes? This property is only used in httpclient
>>>> coming from kernel. So why changes are required at IS side?
>>>>
>>>
>>> Prior to kernel 4.4.17 there was a property 
>>> *-Dorg.wso2.ignoreHostnameVerification=true
>>> *that was used to disable hostname verification. IINM, the issue here
>>> is some components use this property to disable hostname verification, but
>>> since it's that property has been removed since 4.4.17 that might be
>>> causing some issue, so they are investigating on IS side.
>>>
>>> Nuwandi / Fara - correct me if I am wrong.
>>>
>>>>
>>>>
>>>>> Since no improvement is needed from kernel side, can we please go
>>>>> ahead with the kernel 4.4.17 release?
>>>>>
>>>>> *-Dhttpclient.hostnameVerifier *is only applicable since 4.4.17, but
>>>>> our documentation says it's applicable from 4.4.10 ([1]). Better to fix 
>>>>> the
>>>>> documentation as well. Reopened [2] since the doc need to be corrected.
>>>>>
>>>>> [1] https://docs.wso2.com/display/ADMIN44x/Enabling+HostName
>>>>> +Verification
>>>>> [2] https://wso2.org/jira/browse/DOCUMENTATION-4071
>>>>>
>>>>> thanks
>>>>> Nuwandi
>>>>>
>>>>> On Wed, Aug 16, 2017 at 5:39 PM, Farasath Ahamed <farasa...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Aug 15, 2017 at 8:22 PM, Farasath Ahamed <farasa...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Tested with Kernel 4.4.16, -Dhttpclient.hostnameVerifier=AllowAll
>>>>>>> parameter is honoured and worked fine.
>>>>>>>
>>>>>>
>>>>>> I had an offline discussion with Chandana and Thusitha and go to know
>>>>>> that *-Dhttpclient.hostnameVerifier=AllowAll* is not supported in
>>>>>> kernel as of now (upto 4.4.16) and will be supported in 4.4.17.  
>>>>>> Therefore
>>>>>> my earlier conclusion saying that kernel 4.4.16 parameter is honoured is
>>>>>> incorrect. But our documentation says that we support this from 4.4.11
>>>>>> which need to be corrected immediately :)
>>>>>>
>>>>>> But going throught the startup script we do have a parameter
>>>>>> *-Dorg.wso2.ignoreHostnameVerification=true* in kernel 4.4.16. Did a
>>>>>> quick search and this parameter was used in Kernel 4.4.6 to disable
>>>>>> hostname verification. Therefore I think that is how I was able to get my
>>>>>> scenario working with a hostname without changing certs (ie. turn off
>>>>>> hostname verification).
>>>>>>
>>>>>> But even though we have the necessary fixes to support 
>>>>>> *-Dhttpclient.hostnameVerifier=AllowAll
>>>>>> *in kernel 4.4.17 with commons-httpclient_3.1.0.wso2v6 orbit it
>>>>>> doesn't seem to honour the *-Dhttpclient.hostnameVerifier *
>>>>>> parameter.
>>>>>>
>>>>>> I did a quick debug with commons-httpclient_3.1.0.wso2v6 and the
>>>>>> method to verify hostname[1] was never hit :(
>>>>>>
>>>>>>
>>>>>> [1] https://github.com/wso2/wso2-commons-httpclient/blob/v3.
>>>>>> 1.0-wso2v6/commons-httpclient/src/main/java/org/apache/commo
>>>>>> ns/httpclient/protocol/SSLProtocolSocketFactory.java#L286
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Farasath Ahamed
>>>>>>> Software Engineer, WSO2 Inc.; http://wso2.com
>>>>>>> Mobile: +94777603866
>>>>>>> Blog: blog.farazath.com
>>>>>>> Twitter: @farazath619 <https://twitter.com/farazath619>
>>>>>>> <http://wso2.com/signature>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Aug 15, 2017 at 7:58 PM, Harsha Thirimanna <hars...@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 15 Aug 2017 7:43 pm, "Farasath Ahamed" <farasa...@wso2.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Tried to do $subject following [1] on a IS 5.4.0-SNAPSHOT pack with
>>>>>>>> kernel 4.4.17-SNAPSHOT. I still see hostname validation errors after
>>>>>>>> running the server with,
>>>>>>>> -Dhttpclient.hostnameVerifier=AllowAll
>>>>>>>>
>>>>>>>>
>>>>>>>> You don't get this error with the IS pack with kernal 4.4.16 ?
>>>>>>>> Could you please check that Farasath ?
>>>>>>>> Then we can isolate this.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> [2017-08-15 19:36:52,561] ERROR 
>>>>>>>> {org.apache.catalina.core.StandardWrapperValve}
>>>>>>>> -  Servlet.service() for servlet [default] in context with path
>>>>>>>> [/authenticationendpoint] threw exception
>>>>>>>> java.io.IOException: javax.net.ssl.SSLHandshakeException:
>>>>>>>> java.security.cert.CertificateException: No name matching
>>>>>>>> idp.wso2.com found
>>>>>>>> at org.apache.jasper.servlet.JspServletWrapper.service(JspServl
>>>>>>>> etWrapper.java:467)
>>>>>>>> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl
>>>>>>>> et.java:395)
>>>>>>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
>>>>>>>> :339)
>>>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>>>>> lter(ApplicationFilterChain.java:303)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>>>>> licationFilterChain.java:208)
>>>>>>>> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>>>>>>>> r.java:52)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>>>>> lter(ApplicationFilterChain.java:241)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>>>>> licationFilterChain.java:208)
>>>>>>>> at org.apache.catalina.core.ApplicationDispatcher.invoke(Applic
>>>>>>>> ationDispatcher.java:743)
>>>>>>>> at org.apache.catalina.core.ApplicationDispatcher.processReques
>>>>>>>> t(ApplicationDispatcher.java:485)
>>>>>>>> at org.apache.catalina.core.ApplicationDispatcher.doForward(App
>>>>>>>> licationDispatcher.java:410)
>>>>>>>> at org.apache.catalina.core.ApplicationDispatcher.forward(Appli
>>>>>>>> cationDispatcher.java:337)
>>>>>>>> at org.wso2.carbon.identity.application.authentication.endpoint
>>>>>>>> .util.filter.AuthenticationEndpointFilter.doFilter(Authentic
>>>>>>>> ationEndpointFilter.java:161)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>>>>> lter(ApplicationFilterChain.java:241)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>>>>> licationFilterChain.java:208)
>>>>>>>> at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilte
>>>>>>>> r(HttpHeaderSecurityFilter.java:124)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>>>>> lter(ApplicationFilterChain.java:241)
>>>>>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>>>>> licationFilterChain.java:208)
>>>>>>>> at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>>>>>>>> dWrapperValve.java:218)
>>>>>>>> at org.apache.catalina.core.StandardContextValve.invoke(Standar
>>>>>>>> dContextValve.java:110)
>>>>>>>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>>>>>>>> uthenticatorBase.java:506)
>>>>>>>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>>>>>>>> stValve.java:169)
>>>>>>>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>>>>>>>> rtValve.java:103)
>>>>>>>> at org.wso2.carbon.identity.context.rewrite.valve.TenantContext
>>>>>>>> RewriteValve.invoke(TenantContextRewriteValve.java:80)
>>>>>>>> at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invo
>>>>>>>> ke(AuthorizationValve.java:91)
>>>>>>>> at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invo
>>>>>>>> ke(AuthenticationValve.java:60)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInv
>>>>>>>> ocation(CompositeValve.java:99)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke
>>>>>>>> (CarbonTomcatValve.java:47)
>>>>>>>> at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tena
>>>>>>>> ntLazyLoaderValve.java:57)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invok
>>>>>>>> eValves(TomcatValveContainer.java:47)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Comp
>>>>>>>> ositeValve.java:62)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetection
>>>>>>>> Valve.invoke(CarbonStuckThreadDetectionValve.java:159)
>>>>>>>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa
>>>>>>>> lve.java:962)
>>>>>>>> at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.
>>>>>>>> invoke(CarbonContextCreatorValve.java:57)
>>>>>>>> at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>>>>>>>> EngineValve.java:116)
>>>>>>>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>>>>> apter.java:445)
>>>>>>>> at org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>>>>>>>> tractHttp11Processor.java:1115)
>>>>>>>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
>>>>>>>> .process(AbstractProtocol.java:637)
>>>>>>>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>>>>>>>> (NioEndpoint.java:1770)
>>>>>>>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(N
>>>>>>>> ioEndpoint.java:1729)
>>>>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>>>>> Executor.java:1142)
>>>>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>>>>>>>> lExecutor.java:617)
>>>>>>>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r
>>>>>>>> un(TaskThread.java:61)
>>>>>>>> at java.lang.Thread.run(Thread.java:748)
>>>>>>>> Caused by: javax.net.ssl.SSLHandshakeException:
>>>>>>>> java.security.cert.CertificateException: No name matching
>>>>>>>> idp.wso2.com found
>>>>>>>> at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
>>>>>>>> at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
>>>>>>>> at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
>>>>>>>> at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
>>>>>>>> at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHa
>>>>>>>> ndshaker.java:1514)
>>>>>>>> at sun.security.ssl.ClientHandshaker.processMessage(ClientHands
>>>>>>>> haker.java:216)
>>>>>>>> at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
>>>>>>>> at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
>>>>>>>> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java
>>>>>>>> :1062)
>>>>>>>> at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSo
>>>>>>>> cketImpl.java:1375)
>>>>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.
>>>>>>>> java:1403)
>>>>>>>> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.
>>>>>>>> java:1387)
>>>>>>>> at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsCli
>>>>>>>> ent.java:559)
>>>>>>>> at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectio
>>>>>>>> n.connect(AbstractDelegateHttpsURLConnection.java:185)
>>>>>>>> at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Ht
>>>>>>>> tpsURLConnectionImpl.java:153)
>>>>>>>> at org.apache.jsp.login_jsp._jspService(login_jsp.java:777)
>>>>>>>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.ja
>>>>>>>> va:70)
>>>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>>>>>>> at org.apache.jasper.servlet.JspServletWrapper.service(JspServl
>>>>>>>> etWrapper.java:439)
>>>>>>>> ... 44 more
>>>>>>>> Caused by: java.security.cert.CertificateException: No name
>>>>>>>> matching idp.wso2.com found
>>>>>>>> at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.j
>>>>>>>> ava:221)
>>>>>>>> at sun.security.util.HostnameChecker.match(HostnameChecker.java:95)
>>>>>>>> at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509Trus
>>>>>>>> tManagerImpl.java:455)
>>>>>>>> at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509Trus
>>>>>>>> tManagerImpl.java:436)
>>>>>>>> at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509Trust
>>>>>>>> ManagerImpl.java:200)
>>>>>>>> at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X50
>>>>>>>> 9TrustManagerImpl.java:124)
>>>>>>>> at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHa
>>>>>>>> ndshaker.java:1496)
>>>>>>>> ... 58 more
>>>>>>>>
>>>>>>>>
>>>>>>>> Is the information in [1] still valid?
>>>>>>>>
>>>>>>>> Chandana pointed out there has been a http client version upgrade
>>>>>>>> in Kernel 4.4.17. Could this be a reason for this?
>>>>>>>>
>>>>>>>>
>>>>>>>> [1] https://docs.wso2.com/display/ADMIN44x/Enabling+HostName
>>>>>>>> +Verification
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Farasath Ahamed
>>>>>>>> Software Engineer, WSO2 Inc.; http://wso2.com
>>>>>>>> Mobile: +94777603866
>>>>>>>> Blog: blog.farazath.com
>>>>>>>> Twitter: @farazath619 <https://twitter.com/farazath619>
>>>>>>>> <http://wso2.com/signature>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> Dev@wso2.org
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> Dev@wso2.org
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Best Regards,
>>>>>
>>>>> Nuwandi Wickramasinghe
>>>>>
>>>>> Software Engineer
>>>>>
>>>>> WSO2 Inc.
>>>>>
>>>>> Web : http://wso2.com
>>>>>
>>>>> Mobile : 0719214873 <071%20921%204873>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Kishanthan Thangarajah*
>>>> Technical Lead,
>>>> Platform Technologies Team,
>>>> WSO2, Inc.
>>>> lean.enterprise.middleware
>>>>
>>>> Mobile - +94773426635 <+94%2077%20342%206635>
>>>> Blog - *http://kishanthan.wordpress.com
>>>> <http://kishanthan.wordpress.com>*
>>>> Twitter - *http://twitter.com/kishanthan
>>>> <http://twitter.com/kishanthan>*
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks,
>>> Shariq
>>> Associate Technical Lead
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Chandana Napagoda*
>> Associate Technical Lead
>> WSO2 Inc. - http://wso2.org
>>
>> *Email  :  chand...@wso2.com <chand...@wso2.com>**Mobile : +94718169299
>> <+94%2071%20816%209299>*
>>
>> *Blog  :    http://blog.napagoda.com <http://blog.napagoda.com> |
>> http://chandana.napagoda.com <http://chandana.napagoda.com>*
>>
>> *Linkedin : http://www.linkedin.com/in/chandananapagoda
>> <http://www.linkedin.com/in/chandananapagoda>*
>>
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
> ​Best Regards,
> Vidura Nanayakkara​​
>
> --
> Best Regards,
>
> *Vidura Nanayakkara*
> Software Engineer
>
> Email : vidu...@wso2.com
> Mobile : +94 (0) 717 919277 <+94%2071%20791%209277>
> Web : http://wso2.com
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Kishanthan Thangarajah*
Technical Lead,
Platform Technologies Team,
WSO2, Inc.
lean.enterprise.middleware

Mobile - +94773426635
Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to