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