@IS Team, I think IS will also fail in the back channel SLO flow? IMO, we could set that system property in the startup script, but there should be a Production Guideline in our docs to remove that at the production time. WDYT?
On Mon, Apr 11, 2016 at 1:41 PM, Dinusha Senanayaka <dinu...@wso2.com> wrote: > Hi All, > > Getting same exception in App Manager also after updating to kernel-4.4.5. > What is the resolution for this, can we continue with > "-Dorg.opensaml.httpclient.https.disableHostnameVerification=true \" system > property in startup script as Harsha suggested ? > > Regards, > Dinusha. > > On Tue, Apr 5, 2016 at 7:18 PM, Harsha Kumara <hars...@wso2.com> wrote: > >> Hi IS Team, >> >> It seems that the issue got resolved with the system property. We will >> needed to add it to our startup scripts. Any concerns on doing that? >> >> Thanks, >> Harsha >> >> On Tue, Apr 5, 2016 at 6:26 PM, Harsha Kumara <hars...@wso2.com> wrote: >> >>> Boolean.getBoolean perform system property lookup. I'll try that >>> solution and update. >>> >>> On Tue, Apr 5, 2016 at 6:20 PM, Harsha Kumara <hars...@wso2.com> wrote: >>> >>>> I have done some analysis on this. In API Manager initial functionality >>>> works fine. When the access token is generated SAML2BearerGrantHandler >>>> doing DefaultBootstrap.bootstrap(); in opensaml library. With the new >>>> version of the opensaml library they have >>>> perform initializeHttpClient();[1] during the bootstrap. So the underline >>>> commons http client library socket factory has changed >>>> from SSLProtocolSocketFactory to TLSProtocolSocketFactory. >>>> In TLSProtocolSocketFactory it's perform host name verification which cause >>>> this exception. When go through their code, they have tried to disable this >>>> from System property. But implementation is doing Boolean.getBoolean >>>> instead of looking from System.getPropety[2] which seems bug. If this has >>>> worked, we could have set a system property. >>>> >>>> [1] >>>> /** >>>> * Initializes the Apache Commons HttpClient library. >>>> */ >>>> protected static void initializeHttpClient() { >>>> if >>>> (!Boolean.getBoolean(SYSPROP_HTTPCLIENT_HTTPS_DISABLE_HOSTNAME_VERIFICATION)) >>>> { >>>> ProtocolSocketFactory socketFactory = >>>> new TLSProtocolSocketFactory(null, null, new >>>> StrictHostnameVerifier()); >>>> Protocol.registerProtocol("https", new Protocol("https", >>>> socketFactory, 443)); >>>> } >>>> } >>>> >>>> [2] >>>> /** System property used to disable global default HTTPS hostname >>>> verification in Apache Commons HttpClient. */ >>>> public static final String >>>> SYSPROP_HTTPCLIENT_HTTPS_DISABLE_HOSTNAME_VERIFICATION = >>>> "org.opensaml.httpclient.https.disableHostnameVerification"; >>>> >>>> Thanks, >>>> Harsha >>>> >>>> >>>> On Tue, Apr 5, 2016 at 5:48 PM, Nuwan Dias <nuw...@wso2.com> wrote: >>>> >>>>> IS Team, >>>>> >>>>> It looks like the TLSProtocolSocketFactory isn't honouring the >>>>> HostName verification parameter. It always tries to do the hostname >>>>> verification. Looks like a buggy behaviour to me. >>>>> >>>>> This causes problems for API Manager and any other product which has a >>>>> distributed deployment (App Manager, DAS, etc) because it prevents http >>>>> clients within our code from accessing Admin Services of remote nodes. The >>>>> http clients fail since the server cert is by default for localhost and >>>>> whenever we try to access through IPs it fails. The only way to overcome >>>>> this is to create the proper certs and deploy on the server. Which is a >>>>> huge hassle for simple test scenarios. >>>>> >>>>> The TLSProtocolSocketFactory is being set when the SAMLBearerGrant is >>>>> being initialized. Until then things work fine. We either have to stop it >>>>> being set or use a version of opensaml which supports skipping the host >>>>> name verification (like our transports allow). Otherwise this is going to >>>>> be a huge blocker for our releases. >>>>> >>>>> Thanks, >>>>> NuwanD. >>>>> >>>>> On Thu, Mar 17, 2016 at 7:09 PM, Sam Sivayogam <s...@wso2.com> wrote: >>>>> >>>>>> HI All, >>>>>> >>>>>> Had a offline chat with Pulasthi and got to know that in IS 5.0.8 >>>>>> there was opensaml upgrade from 2.4.1 to 2.6.4. After going through [1] >>>>>> got >>>>>> to know that there is a hostname verification introduced in opensaml >>>>>> 2.6.4 >>>>>> which is not there in opensaml 2.4.1 and this is why we are getting the >>>>>> above issue after moving to carbon identity 5.0.8. >>>>>> >>>>>> We are using *CommonsHTTPTransportSender * to call key >>>>>> manager internally and from what I understood if we set the >>>>>> *HostnameVerifier >>>>>> *parameter to *AllowAll *we should be able to get rid of this issue, >>>>>> But still we are getting this issue. Does anyone know why >>>>>> HostnameVerifier >>>>>> prameter is not working as expected with CommonsHTTPTransportSender ? >>>>>> >>>>>> [1] >>>>>> http://grepcode.com/file_/repo1.maven.org/maven2/org.apache.servicemix.bundles/org.apache.servicemix.bundles.opensaml/2.4.1_2/org/opensaml/ws/soap/client/http/TLSProtocolSocketFactory.java/?v=diff&id2=2.6.4_1 >>>>>> >>>>>> Thanks, >>>>>> >>>>>> On Thu, Mar 17, 2016 at 11:12 AM, Sam Sivayogam <s...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I'm trying to to upgrade APIM's Crabon kernel to 4.4.4. during the >>>>>>> kernel upgrade i also upgraded the following >>>>>>> carbon identity from 5.0.7 to 5.08 >>>>>>> carbon commons from 4.4.8 to 4.5.2 >>>>>>> wso2 rampart from 1.6.1-wso2v16 to 1.6.1-wso2v18 >>>>>>> >>>>>>> After the upgrade, when I try to generate a key from the API Store >>>>>>> I'm getting the error [1] . I was able to get rid of this issue after >>>>>>> replacing APIKeyValidator ip with localhost in api-manager.xml. >>>>>>> Please note that this issue is occuring after the kernel upgrade >>>>>>> before that we didn't encounter this issue. what i would like to know to >>>>>>> know is there is any changes in kernel 4.4.4 or rampart 1.6.1-wso2v18 >>>>>>> to do >>>>>>> the hostname verification by default? >>>>>>> >>>>>>> [1] [2016-03-17 11:08:35,995] INFO - HTTPSender Unable to >>>>>>> sendViaPost to url[ >>>>>>> https://10.100.5.192:9443//services/APIKeyMgtSubscriberService] >>>>>>> javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname >>>>>>> validation for name: 10.100.5.192 >>>>>>> at >>>>>>> org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.verifyHostname(TLSProtocolSocketFactory.java:233) >>>>>>> at >>>>>>> org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.createSocket(TLSProtocolSocketFactory.java:194) >>>>>>> at >>>>>>> org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) >>>>>>> at >>>>>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) >>>>>>> at >>>>>>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) >>>>>>> at >>>>>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) >>>>>>> at >>>>>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) >>>>>>> at >>>>>>> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:632) >>>>>>> at >>>>>>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:195) >>>>>>> at >>>>>>> org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77) >>>>>>> at >>>>>>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451) >>>>>>> at >>>>>>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278) >>>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) >>>>>>> at >>>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430) >>>>>>> at >>>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225) >>>>>>> at >>>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.keymgt.stub.subscriber.APIKeyMgtSubscriberServiceStub.retrieveOAuthApplication(APIKeyMgtSubscriberServiceStub.java:1389) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.keymgt.client.SubscriberKeyMgtClient.getOAuthApplication(SubscriberKeyMgtClient.java:89) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.retrieveApplication(AMDefaultKeyManagerImpl.java:224) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.getClientOfApplication(ApiMgtDAO.java:2338) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.getOAuthApplications(ApiMgtDAO.java:2302) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.getApplications(ApiMgtDAO.java:4434) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.APIConsumerImpl.getApplications(APIConsumerImpl.java:2813) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.impl.UserAwareAPIConsumer.getApplications(UserAwareAPIConsumer.java:36) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject.getAllSubscriptions(APIStoreHostObject.java:2416) >>>>>>> at >>>>>>> org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject.jsFunction_getAllSubscriptionsOfApplication(APIStoreHostObject.java:2659) >>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>> at >>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>>>> at >>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>> at java.lang.reflect.Method.invoke(Method.java:601) >>>>>>> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) >>>>>>> at >>>>>>> org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) >>>>>>> at >>>>>>> org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) >>>>>>> at >>>>>>> org.jaggeryjs.rhino.store.modules.subscription.c1._c_anonymous_2(/store/modules/subscription/list.jag:31) >>>>>>> at >>>>>>> org.jaggeryjs.rhino.store.modules.subscription.c1.call(/store/modules/subscription/list.jag) >>>>>>> at >>>>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) >>>>>>> at >>>>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) >>>>>>> at >>>>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) >>>>>>> at >>>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>>> at >>>>>>> org.jaggeryjs.rhino.store.modules.subscription.c0._c_anonymous_5(/store/modules/subscription/module.jag:19) >>>>>>> >>>>>>> Thanks, >>>>>>> Sam >>>>>>> -- >>>>>>> *Sam Sivayogam* >>>>>>> >>>>>>> Software Engineer >>>>>>> Mobile : +94 772 906 439 >>>>>>> Office : +94 112 145 345 >>>>>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>* >>>>>>> lean.enterprise.middleware. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Sam Sivayogam* >>>>>> >>>>>> Software Engineer >>>>>> Mobile : +94 772 906 439 >>>>>> Office : +94 112 145 345 >>>>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>* >>>>>> lean.enterprise.middleware. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Nuwan Dias >>>>> >>>>> Technical Lead - WSO2, Inc. http://wso2.com >>>>> email : nuw...@wso2.com >>>>> Phone : +94 777 775 729 >>>>> >>>> >>>> >>>> >>>> -- >>>> Harsha Kumara >>>> Software Engineer, WSO2 Inc. >>>> Mobile: +94775505618 >>>> Blog:harshcreationz.blogspot.com >>>> >>> >>> >>> >>> -- >>> Harsha Kumara >>> Software Engineer, WSO2 Inc. >>> Mobile: +94775505618 >>> Blog:harshcreationz.blogspot.com >>> >> >> >> >> -- >> Harsha Kumara >> Software Engineer, WSO2 Inc. >> Mobile: +94775505618 >> Blog:harshcreationz.blogspot.com >> > > > > -- > Dinusha Dilrukshi > Associate Technical Lead > WSO2 Inc.: http://wso2.com/ > Mobile: +94725255071 > Blog: http://dinushasblog.blogspot.com/ > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Thanks & Regards, Dulanja Liyanage WSO2 Inc.
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev