You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Francisco Bento da Silva Neto (Jira)" <ji...@apache.org> on 2022/03/09 19:25:00 UTC

[jira] [Commented] (CXF-8665) Custom certificate alias not being used when using HC AsyncHTTPConduit

    [ https://issues.apache.org/jira/browse/CXF-8665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17503796#comment-17503796 ] 

Francisco Bento da Silva Neto commented on CXF-8665:
----------------------------------------------------

This issue is breaking apache cxf soap client when using async in spring-boot apps.

I added a comment on HTTPASYNC-168 with a little background on why we stumble upon the the issue. I believe that ideally the issue should be fixed on httpasyncclient - and a new version 4.1.6. should be released - for resilience purposes.

If a patch is done otherwise in CXF, the incompatibility matrix with httpasyncclient will increase - and it is a bug that it is really difficult to track down, but its up to Apache to decide.

> Custom certificate alias not being used when using HC AsyncHTTPConduit
> ----------------------------------------------------------------------
>
>                 Key: CXF-8665
>                 URL: https://issues.apache.org/jira/browse/CXF-8665
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 3.5.0, 3.3.6
>            Reporter: Bastien Bouclet
>            Priority: Major
>
> When using `org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit` and setting `TLSClientParameters.certAlias` so the HTTP client sends a specific client certificate from the keystore, the certificate alias is ignored.
> From what I've been able to debug, it seems `AsyncHTTPConduit` sets the SSL settings to be used in the http client context attribute `http.iosession-factory-registry`:
> [https://github.com/apache/cxf/blob/e758de3e60501bd33ca1b9ef3df685128d4a443a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java#L564]
> However, the http client is using the context attribute `http.ioSession-factory-registry` (note the different capitalisation) (org.apache.http.protocol.BasicHttpContext is case sensitive):
> [https://github.com/apache/httpasyncclient/blob/0f491c178be95114122957aa60e64f347d965e73/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/PoolingNHttpClientConnectionManager.java#L100]
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)